mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-13 09:32:12 +00:00
Compare commits
911 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5cc278fe6d | ||
|
|
3cae95c531 | ||
|
|
8bd1534cd5 | ||
|
|
790a54c4ab | ||
|
|
66300310d1 | ||
|
|
7e10ac9873 | ||
|
|
5c7b1ba25d | ||
|
|
8130f808d9 | ||
|
|
b8d15cb366 | ||
|
|
da1fac2d29 | ||
|
|
543b94c3e4 | ||
|
|
19b33ea36e | ||
|
|
561e69d8b7 | ||
|
|
d8558afd58 | ||
|
|
5da9dd37a7 | ||
|
|
c712c546c3 | ||
|
|
f9bd5d0e8d | ||
|
|
b989260d0c | ||
|
|
e83039637e | ||
|
|
3b11b1c986 | ||
|
|
40a7fbacf0 | ||
|
|
341ae95065 | ||
|
|
3df4c61bd7 | ||
|
|
3e90c8358c | ||
|
|
1a4d4876c4 | ||
|
|
7f9efec1f3 | ||
|
|
7c144ee013 | ||
|
|
b78c1aaede | ||
|
|
3be87aa4ec | ||
|
|
29eaad9db6 | ||
|
|
7323b70d03 | ||
|
|
458f881043 | ||
|
|
769721c193 | ||
|
|
e140944dd9 | ||
|
|
6ce981ced9 | ||
|
|
ca05eab0c3 | ||
|
|
9b74ec59c8 | ||
|
|
0f4bada34d | ||
|
|
57f92e1554 | ||
|
|
9113ee9995 | ||
|
|
e53ede0b23 | ||
|
|
9558da36f7 | ||
|
|
d4e4683d94 | ||
|
|
7eb062bf49 | ||
|
|
44a5423ae7 | ||
|
|
a9f19151b6 | ||
|
|
0733f60b57 | ||
|
|
41b810629b | ||
|
|
0f36599131 | ||
|
|
814093d91a | ||
|
|
9ffd534bc2 | ||
|
|
ce96925640 | ||
|
|
c5e873ab24 | ||
|
|
7ce63cb5db | ||
|
|
f738a173fc | ||
|
|
3d6ed1def9 | ||
|
|
6c127199ba | ||
|
|
f7099ab42e | ||
|
|
52b35ddc42 | ||
|
|
25d0876b91 | ||
|
|
bffa92d96e | ||
|
|
d448fd2806 | ||
|
|
81592ca9e2 | ||
|
|
977b13cc23 | ||
|
|
035d16dd6d | ||
|
|
ee9c184eeb | ||
|
|
e24060c31d | ||
|
|
a2c3774e9a | ||
|
|
dee2b07cb0 | ||
|
|
da0551cb4c | ||
|
|
68a6af9b2c | ||
|
|
46c2f6c6c1 | ||
|
|
95976de115 | ||
|
|
8be677adec | ||
|
|
aa7cf561a7 | ||
|
|
bac896501b | ||
|
|
3ea2815aba | ||
|
|
0181594530 | ||
|
|
6b788abd6c | ||
|
|
ccd6423183 | ||
|
|
cb87cc1cae | ||
|
|
d9eb00544e | ||
|
|
4ae0cc5c52 | ||
|
|
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 |
@@ -1,8 +0,0 @@
|
||||
.git
|
||||
.github
|
||||
test/
|
||||
cache/
|
||||
src/proto/youtube.ts
|
||||
coverage/
|
||||
node_modules/
|
||||
dist/
|
||||
@@ -1,87 +0,0 @@
|
||||
plugins:
|
||||
[ '@typescript-eslint', 'eslint-plugin-tsdoc' ]
|
||||
env:
|
||||
commonjs: true
|
||||
es2021: true
|
||||
node: true
|
||||
extends: [ eslint:recommended, 'plugin:@typescript-eslint/recommended' ]
|
||||
parser: '@typescript-eslint/parser'
|
||||
parserOptions:
|
||||
ecmaVersion: latest
|
||||
overrides:
|
||||
-
|
||||
files:
|
||||
- '**/*.js'
|
||||
rules:
|
||||
'tsdoc/syntax': 'off'
|
||||
rules:
|
||||
max-len:
|
||||
- error
|
||||
-
|
||||
code: 200
|
||||
ignoreComments: true
|
||||
ignoreTrailingComments: true
|
||||
ignoreStrings: true
|
||||
ignoreTemplateLiterals: true
|
||||
ignoreRegExpLiterals: true
|
||||
|
||||
quotes: [error, single]
|
||||
|
||||
'@typescript-eslint/ban-types': 'off'
|
||||
'tsdoc/syntax': 'warn'
|
||||
'@typescript-eslint/no-explicit-any': 'off'
|
||||
|
||||
no-template-curly-in-string: error
|
||||
no-unreachable-loop: error
|
||||
no-unused-private-class-members: 'off'
|
||||
no-prototype-builtins: 'off'
|
||||
no-async-promise-executor: 'off'
|
||||
no-case-declarations: 'off'
|
||||
no-return-assign: 'off'
|
||||
no-floating-decimal: error
|
||||
no-implied-eval: error
|
||||
arrow-spacing: error
|
||||
no-invalid-this: error
|
||||
no-lone-blocks: 'off'
|
||||
no-new-func: error
|
||||
no-new-wrappers: error
|
||||
no-new: error
|
||||
no-void: error
|
||||
no-octal-escape: error
|
||||
no-self-compare: error
|
||||
no-sequences: error
|
||||
no-throw-literal: error
|
||||
no-unmodified-loop-condition: error
|
||||
no-useless-call: error
|
||||
no-useless-concat: error
|
||||
no-useless-escape: error
|
||||
no-useless-return: error
|
||||
no-else-return: error
|
||||
no-lonely-if: error
|
||||
no-undef-init: error
|
||||
no-unneeded-ternary: error
|
||||
no-var: error
|
||||
no-multi-spaces: error
|
||||
no-multiple-empty-lines: ["error", { "max": 2, "maxEOF": 0 }]
|
||||
no-tabs: error
|
||||
no-trailing-spaces: error
|
||||
|
||||
brace-style: error
|
||||
new-parens: error
|
||||
space-infix-ops: error
|
||||
template-curly-spacing: error
|
||||
wrap-regex: error
|
||||
capitalized-comments: error
|
||||
prefer-template: error
|
||||
|
||||
keyword-spacing: ["error", { "before": true } ]
|
||||
array-bracket-spacing: ["error", "always"]
|
||||
arrow-parens: ["error", "always"]
|
||||
comma-dangle: ["error", "never"]
|
||||
comma-spacing: ["error", { "before": false, "after": true }]
|
||||
computed-property-spacing: ["error", "never"]
|
||||
func-call-spacing: ["error", "never"]
|
||||
indent: ["error", 2, { "SwitchCase": 1 }]
|
||||
key-spacing: ["error", { "beforeColon": false }]
|
||||
semi: ["error", "always"]
|
||||
operator-assignment: ["error", "always"]
|
||||
9
.github/dependabot.yml
vendored
Normal file
9
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
version: 2
|
||||
updates:
|
||||
# Enable version updates for npm
|
||||
- package-ecosystem: "npm"
|
||||
# Look for `package.json` and `lock` files in the `root` directory
|
||||
directory: "/"
|
||||
# Check the npm registry for updates every day (weekdays)
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
8
.github/labeler_config.yml
vendored
8
.github/labeler_config.yml
vendored
@@ -2,13 +2,7 @@ version: 1
|
||||
labels:
|
||||
- label: "breaking-change"
|
||||
title: "^refactor!:.*"
|
||||
|
||||
- label: "enhancement"
|
||||
title: "^feat:.*"
|
||||
|
||||
- label: "bug"
|
||||
title: "^fix:.*"
|
||||
|
||||
|
||||
- label: "github"
|
||||
files:
|
||||
- ".github/.*"
|
||||
|
||||
33
.github/pull_request_template.md
vendored
33
.github/pull_request_template.md
vendored
@@ -1,27 +1,6 @@
|
||||
# Pull Request Template
|
||||
|
||||
## Description
|
||||
|
||||
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
|
||||
|
||||
Fixes # (issue)
|
||||
|
||||
## Type of change
|
||||
|
||||
Please delete options that are not relevant.
|
||||
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] This change requires a documentation update
|
||||
|
||||
## Checklist:
|
||||
|
||||
- [ ] My code follows the style guidelines of this project
|
||||
- [ ] I have performed a self-review of my own code
|
||||
- [ ] I have commented my code, particularly in hard-to-understand areas
|
||||
- [ ] I have made corresponding changes to the documentation
|
||||
- [ ] My changes generate no new warnings
|
||||
- [ ] I have added tests that prove my fix is effective or that my feature works
|
||||
- [ ] New and existing unit tests pass locally with my changes
|
||||
- [ ] I have checked my code and corrected any misspellings
|
||||
<!-- 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.
|
||||
-->
|
||||
20
.github/release.yml
vendored
20
.github/release.yml
vendored
@@ -1,20 +0,0 @@
|
||||
changelog:
|
||||
exclude:
|
||||
labels:
|
||||
- ignore-for-release
|
||||
authors:
|
||||
- octocat
|
||||
categories:
|
||||
- title: Breaking Changes
|
||||
labels:
|
||||
- Semver-Major
|
||||
- breaking-change
|
||||
- title: New Features
|
||||
labels:
|
||||
- Semver-Minor
|
||||
- enhancement
|
||||
- title: Bug Fixes
|
||||
- bug
|
||||
- title: Other Changes
|
||||
labels:
|
||||
- "*"
|
||||
2
.github/workflows/labeler.yml
vendored
2
.github/workflows/labeler.yml
vendored
@@ -5,9 +5,7 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: srvaroa/labeler@master
|
||||
with:
|
||||
|
||||
25
.github/workflows/lint.yml
vendored
25
.github/workflows/lint.yml
vendored
@@ -1,17 +1,18 @@
|
||||
name: Lint
|
||||
name: lint
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
eslint:
|
||||
name: Lint
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
|
||||
- name: npm install and lint
|
||||
run: |
|
||||
npm install
|
||||
npm run lint
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
26
.github/workflows/node.js.yml
vendored
26
.github/workflows/node.js.yml
vendored
@@ -1,26 +0,0 @@
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [ 16.x, 18.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: npm run test
|
||||
65
.github/workflows/release-please.yml
vendored
Normal file
65
.github/workflows/release-please.yml
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
name: release-please
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
id-token: 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: '24'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- name: Publish package to npmjs
|
||||
run: |
|
||||
npm ci
|
||||
npm publish
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
7
.github/workflows/stale.yml
vendored
7
.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'
|
||||
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
|
||||
12
.gitignore
vendored
12
.gitignore
vendored
@@ -56,6 +56,7 @@ pnpm-lock.yaml
|
||||
|
||||
# Downloaded assets
|
||||
*.mp4
|
||||
*.m4a
|
||||
*.webm
|
||||
*.mkv
|
||||
|
||||
@@ -66,6 +67,17 @@ tmp/
|
||||
dist/
|
||||
bundle/*.js.*
|
||||
bundle/*.js
|
||||
bundle/*.cjs
|
||||
bundle/*.cjs.*
|
||||
deno/
|
||||
|
||||
# VSCode files
|
||||
.vscode/
|
||||
|
||||
# Webstorm files
|
||||
.idea/
|
||||
|
||||
# MacOS
|
||||
.DS_Store
|
||||
|
||||
*.bin
|
||||
@@ -1,6 +1,8 @@
|
||||
**
|
||||
|
||||
src/
|
||||
docs/
|
||||
!dist/**
|
||||
!README.md
|
||||
!LICENSE
|
||||
!bundle/**
|
||||
1181
CHANGELOG.md
Normal file
1181
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.
|
||||
101
CONTRIBUTING.md
101
CONTRIBUTING.md
@@ -1,81 +1,66 @@
|
||||
# Contributing to YouTube.js
|
||||
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:
|
||||
|
||||
Thank you for taking the time to contribute!
|
||||
The following is a set of guidelines for contributing to YouTube.js.
|
||||
___
|
||||
* [Issues](#issues)
|
||||
* [Create a new issue](#issue-1)
|
||||
* [Solve an issue](#issue-2)
|
||||
|
||||
* [Make changes](#changes)
|
||||
* [Commit your updates](#changes-1)
|
||||
* [Create a PR](#changes-2)
|
||||
* [Run tests](#test)
|
||||
* [Lint your code](#lint)
|
||||
* [Build](#build)
|
||||
|
||||
## Issues
|
||||
|
||||
<a id="issue-1"></a>
|
||||
#### Create a new issue
|
||||
If you find a problem, search if an issue already exists. If a related issue doesn't exist, you can open a new issue using a relevant issue form.
|
||||
### 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.
|
||||
|
||||
<a id="issue-2"></a>
|
||||
#### Solve an issue
|
||||
Scan through the existing issues to find one that interests you. You can narrow down the search using labels as filters. If you find an issue to work on, you are welcome to open a PR with a fix.
|
||||
### 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!
|
||||
|
||||
<a id="changes"></a>
|
||||
## Make changes
|
||||
## Making Changes
|
||||
|
||||
1. Fork the repository
|
||||
2. Install or update to **Node.js v16**
|
||||
3. Create a working branch and start with your 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!
|
||||
|
||||
<a id="changes-1"></a>
|
||||
#### Commit your updates
|
||||
### 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.
|
||||
|
||||
Commit the changes once you're happy with them.
|
||||
### 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.
|
||||
|
||||
<a id="changes-2"></a>
|
||||
#### Pull Request
|
||||
- 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.
|
||||
|
||||
When you think the code is ready for review a pull request should be created on Github. Owners of the repository will watch out for new PR‘s and review them in regular intervals.
|
||||
### 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:
|
||||
|
||||
- Fill the template.
|
||||
- Link the PR to an issue, if you are solving one.
|
||||
- Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
|
||||
- Changes may be requested before a PR can be merged.
|
||||
- As you update your PR and apply changes, mark each conversation as resolved.
|
||||
|
||||
<a id="test"></a>
|
||||
#### Test
|
||||
|
||||
```bash
|
||||
Testing:
|
||||
```sh
|
||||
npm run test
|
||||
```
|
||||
|
||||
<a id="lint"></a>
|
||||
#### Lint
|
||||
|
||||
```bash
|
||||
Linting:
|
||||
```sh
|
||||
npm run lint
|
||||
npm run lint:fix
|
||||
```
|
||||
|
||||
<a id="build"></a>
|
||||
#### Build
|
||||
|
||||
```bash
|
||||
# Node
|
||||
npm run build:node
|
||||
|
||||
# Browser
|
||||
npm run build:browser
|
||||
npm run build:browser:prod
|
||||
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.
|
||||
667
README.md
667
README.md
@@ -1,127 +1,32 @@
|
||||
<!-- Hi there, fellow coder :) -->
|
||||
|
||||
<!-- 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
|
||||
[say-thanks]: https://saythanks.io/to/LuanRT
|
||||
[github-sponsors]:https://github.com/sponsors/LuanRT
|
||||
[discord]: https://discord.gg/syDu7Yks54
|
||||
|
||||
<!-- OTHER LINKS -->
|
||||
[project]: https://github.com/LuanRT/YouTube.js
|
||||
[twitter]: https://twitter.com/lrt_nooneknows
|
||||
[nodejs]: https://nodejs.org
|
||||
|
||||
<!-- INTRODUCTION -->
|
||||
<h1 align=center>
|
||||
YouTube.js
|
||||
</h1>
|
||||
|
||||
<p align=center>
|
||||
<i>
|
||||
A full-featured wrapper around the InnerTube API, which is what YouTube itself uses.
|
||||
</i>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/LuanRT/YouTube.js/issues">
|
||||
Report Bug
|
||||
</a>
|
||||
·
|
||||
<a href="https://github.com/LuanRT/YouTube.js/issues">
|
||||
Request Feature
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<!-- BADGES -->
|
||||
<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>
|
||||
|
||||
[][actions]
|
||||
[][versions]
|
||||
[][codefactor]
|
||||
[][npm]
|
||||
[][say-thanks]
|
||||
[][discord]
|
||||
[][actions]
|
||||
[][versions]
|
||||
[][npm]
|
||||
[][codefactor]
|
||||
|
||||
</div>
|
||||
|
||||
<!-- SPONSORS -->
|
||||
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.
|
||||
|
||||
<p align="center">
|
||||
<a><sub>Special thanks to:<sub></a>
|
||||
</p>
|
||||
## Installation
|
||||
|
||||
<table align="center">
|
||||
<body>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://serpapi.com/">
|
||||
<img width="80" alt="SerpApi" src="https://luanrt.is-a.dev/assets/img/serpapi.svg" />
|
||||
<br>
|
||||
<b>
|
||||
<sub>
|
||||
Scrape Google and other search engines from a fast, easy and complete API.
|
||||
</sub>
|
||||
</b>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</body>
|
||||
</table>
|
||||
|
||||
___
|
||||
|
||||
<!-- TABLE OF CONTENTS -->
|
||||
<details>
|
||||
<summary>Table of Contents</summary>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="#about">About</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#getting-started">Getting Started</a>
|
||||
<ul>
|
||||
<li><a href="#prerequisites">Prerequisites</a></li>
|
||||
<li><a href="#installation">Installation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#usage">Usage</a>
|
||||
<ul>
|
||||
<li><a href="#browser-usage">Browser Usage</a></li>
|
||||
<li><a href="#caching">Caching</a></li>
|
||||
<li><a href="#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#implementing-custom-functionality">Implementing custom functionality </a></li>
|
||||
<li><a href="#contributing">Contributing</a></li>
|
||||
<li><a href="#contributors">Contributors</a></li>
|
||||
<li><a href="#contact">Contact</a></li>
|
||||
<li><a href="#disclaimer">Disclaimer</a></li>
|
||||
<li><a href="#license">License</a></li>
|
||||
</ol>
|
||||
</details>
|
||||
|
||||
<!-- ABOUT THE PROJECT -->
|
||||
## About
|
||||
|
||||
InnerTube is an API used across all YouTube clients, it was created to simplify[^1] the internal structure of the platform in a way that updates, tweaks, and experiments can be easily made. This library handles all the low-level communication with InnerTube, providing a simple, fast, and efficient way to interact with YouTube programmatically.
|
||||
|
||||
If you have any questions or need help, feel free to contact us on our chat server [here](https://discord.gg/syDu7Yks54).
|
||||
|
||||
<!-- GETTING STARTED -->
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
YouTube.js runs on Node.js, Deno, and modern browsers.
|
||||
|
||||
It requires a runtime with the following features:
|
||||
- [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
|
||||
- On Node we use [undici]()'s fetch implementation which requires Node.js 16.8+. You may provide your fetch implementation if you need to use an older version. See [providing your own fetch implementation](#custom-fetch) for more information.
|
||||
- The `Response` object returned by fetch must thus be spec compliant and return a `ReadableStream` object if you want to use the `VideoInfo#download` method. (Implementations like `node-fetch` returns a non-standard `Readable` object.)
|
||||
- [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) and [`CustomEvent`](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent) are required.
|
||||
|
||||
### Installation
|
||||
Before installing, make sure your environment meets the [prerequisites](https://ytjs.dev/guide/getting-started.html#prerequisites).
|
||||
|
||||
```bash
|
||||
# NPM
|
||||
@@ -132,555 +37,41 @@ yarn add youtubei.js@latest
|
||||
|
||||
# Git (edge version)
|
||||
npm install github:LuanRT/YouTube.js
|
||||
|
||||
# Deno
|
||||
deno add npm:youtubei.js@latest
|
||||
```
|
||||
|
||||
**TODO:** Deno install instructions (esm.sh possibly?)
|
||||
|
||||
<!-- USAGE -->
|
||||
## Usage
|
||||
Create an InnerTube instance:
|
||||
Deno (deprecated):
|
||||
```ts
|
||||
// const { Innertube } = require('youtubei.js');
|
||||
import { Innertube } from 'youtubei.js';
|
||||
const youtube = await Innertube.create();
|
||||
import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';
|
||||
```
|
||||
|
||||
## Browser Usage
|
||||
To use YouTube.js in the browser you must proxy requests through your own server. You can see our simple reference implementation in Deno in [`examples/browser/proxy/deno.ts`](https://github.com/LuanRT/YouTube.js/tree/main/examples/browser/proxy/deno.ts).
|
||||
|
||||
You may provide your own fetch implementation to be used by YouTube.js. Which we will use here to modify and send the requests through our proxy. See [`examples/browser/web`](https://github.com/LuanRT/YouTube.js/tree/main/examples/browser/web) for a simple example using [Vite](https://vitejs.dev/).
|
||||
|
||||
```ts
|
||||
// Pre-bundled version for the web
|
||||
import { Innertube } from 'youtubei.js/bundle/browser';
|
||||
await Innertube.create({
|
||||
fetch: async (input: RequestInfo | URL, init?: RequestInit) => {
|
||||
// Modify the request
|
||||
// and send it to the proxy
|
||||
|
||||
// fetch the URL
|
||||
return fetch(request, init);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
### Streaming
|
||||
YouTube.js supports streaming of videos in the browser by converting YouTube's streaming data into an MPEG-DASH manifest.
|
||||
|
||||
The example below uses [`dash.js`](https://github.com/Dash-Industry-Forum/dash.js) to play the video.
|
||||
## Basic Usage
|
||||
|
||||
```ts
|
||||
import { Innertube } from 'youtubei.js';
|
||||
import dashjs from 'dashjs';
|
||||
|
||||
const youtube = await Innertube.create({ /* setup - see above */ });
|
||||
|
||||
// get the video info
|
||||
const videoInfo = await youtube.getInfo('videoId');
|
||||
|
||||
// now convert to a dash manifest
|
||||
// again - to be able to stream the video in the browser - we must proxy the requests through our own server
|
||||
// to do this, we provide a method to transform the URLs before writing them to the manifest
|
||||
const manifest = videoInfo.toDash(url => {
|
||||
// modify the url
|
||||
// and return it
|
||||
return url;
|
||||
});
|
||||
|
||||
const uri = "data:application/dash+xml;charset=utf-8;base64," + btoa(manifest);
|
||||
|
||||
const videoElement = document.getElementById('video_player');
|
||||
|
||||
const player = dashjs.MediaPlayer().create();
|
||||
player.initialize(videoElement, uri, true);
|
||||
const innertube = await Innertube.create(/* options */);
|
||||
```
|
||||
|
||||
Our browser example in [`examples/browser/web`](https://github.com/LuanRT/YouTube.js/blob/main/examples/browser/web) provides a fully working example.
|
||||
<a name="custom-fetch"></a>
|
||||
For detailed usage, check out the [YouTube.js Guide and API Documentation](https://ytjs.dev).
|
||||
|
||||
## Providing your own fetch implementation
|
||||
You may provide your own fetch implementation to be used by YouTube.js. This can be useful in some cases to modify the requests before they are sent and transform the responses before they are returned (eg. for proxies).
|
||||
```ts
|
||||
// provide a fetch implementation
|
||||
const yt = await Innertube.create({
|
||||
fetch: async (input: RequestInfo | URL, init?: RequestInit) => {
|
||||
// make the request with your own fetch implementation
|
||||
// and return the response
|
||||
return new Response(
|
||||
/* ... */
|
||||
);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
<a name="caching"></a>
|
||||
|
||||
## Caching
|
||||
To improve performance, you may wish to cache the transformed player instance which we use to decode the streaming urls.
|
||||
|
||||
Our cache uses the `node:fs` module in Node-like environments, `Deno.writeFile` in Deno, and `indexedDB` in browsers.
|
||||
|
||||
```ts
|
||||
import { Innertube, UniversalCache } from 'youtubei.js';
|
||||
// By default, cache stores files in the OS temp directory (or indexedDB in browsers).
|
||||
const yt = await Innertube.create({
|
||||
cache: new UniversalCache()
|
||||
});
|
||||
|
||||
// You may wish to make the cache persistent (on Node and Deno)
|
||||
const yt = await Innertube.create({
|
||||
cache: new UniversalCache(
|
||||
// Enables persistent caching
|
||||
true,
|
||||
// Path to the cache directory will create the directory if it doesn't exist
|
||||
'./.cache'
|
||||
)
|
||||
});
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
* `Innertube`
|
||||
|
||||
<details>
|
||||
<summary>objects</summary>
|
||||
<p>
|
||||
|
||||
* [.session](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/session.md)
|
||||
* [.account](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/account.md)
|
||||
* [.interact](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/interaction-manager.md)
|
||||
* [.playlist](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/playlist.md)
|
||||
* [.music](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/music.md)
|
||||
* [.studio](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/studio.md)
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>methods</summary>
|
||||
<p>
|
||||
|
||||
* [.getInfo(video_id, client?)](#getinfo)
|
||||
* [.getBasicInfo(video_id, client?)](#getbasicinfo)
|
||||
* [.search(query, filters?)](#search)
|
||||
* [.getSearchSuggestions(query)](#getsearchsuggestions)
|
||||
* [.getComments(video_id, sort_by?)](#getcomments)
|
||||
* [.getHomeFeed()](#gethomefeed)
|
||||
* [.getLibrary()](#getlibrary)
|
||||
* [.getHistory()](#gethistory)
|
||||
* [.getTrending()](#gettrending)
|
||||
* [.getSubscriptionsFeed()](#getsubscriptionsfeed)
|
||||
* [.getChannel(id)](#getchannel)
|
||||
* [.getNotifications()](#getnotifications)
|
||||
* [.getUnseenNotificationsCount()](#getunseennotificationscount)
|
||||
* [.getPlaylist(id)](#getplaylist)
|
||||
* [.getStreamingData(video_id, options)](#getstreamingdata)
|
||||
* [.download(video_id, options?)](#download)
|
||||
* [.call(endpoint, args?)](#call)
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getinfo"></a>
|
||||
### getInfo(video_id, client?)
|
||||
|
||||
Retrieves video info, including playback data and even layout elements such as menus, buttons, etc — all nicely parsed.
|
||||
|
||||
**Returns**: `Promise.<VideoInfo>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | The id of the video |
|
||||
| client? | `InnerTubeClient` | `WEB`, `ANDROID`, `YTMUSIC`, `YTMUSIC_ANDROID` or `TV_EMBEDDED` |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<info>#like()`
|
||||
- Likes the video.
|
||||
|
||||
- `<info>#dislike()`
|
||||
- Dislikes the video.
|
||||
|
||||
- `<info>#removeLike()`
|
||||
- Removes like/dislike.
|
||||
|
||||
- `<info>#getLiveChat()`
|
||||
- Returns a LiveChat instance.
|
||||
|
||||
- `<info>#chooseFormat(options)`
|
||||
- Used to choose streaming data formats.
|
||||
|
||||
- `<info>#toDash(url_transformer)`
|
||||
- Converts streaming data to an MPEG-DASH manifest.
|
||||
|
||||
- `<info>#download(options)`
|
||||
- Downloads the video. See [download](#download).
|
||||
|
||||
- `<info>#filters`
|
||||
- Returns filters that can be applied to the watch next feed.
|
||||
|
||||
- `<info>#selectFilter(name)`
|
||||
- Applies the given filter to the watch next feed and returns a new instance of [`VideoInfo`](https://github.com/LuanRT/YouTube.js/blob/main/src/parser/youtube/VideoInfo.ts).
|
||||
|
||||
- `<info>#getWatchNextContinuation()`
|
||||
- Retrieves the next batch of items for the watch next feed.
|
||||
|
||||
- `<info>#addToWatchHistory()`
|
||||
- Adds the video to the watch history.
|
||||
|
||||
- `<info>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getbasicinfo"></a>
|
||||
### getBasicInfo(video_id, client?)
|
||||
|
||||
Suitable for cases where you only need basic video metadata. Also, it is faster than [`getInfo()`](#getinfo).
|
||||
|
||||
**Returns**: `Promise.<VideoInfo>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | The id of the video |
|
||||
| client? | `InnerTubeClient` | `WEB`, `ANDROID`, `YTMUSIC_ANDROID`, `YTMUSIC`, `TV_EMBEDDED` |
|
||||
|
||||
<a name="search"></a>
|
||||
### search(query, filters?)
|
||||
|
||||
Searches the given query on YouTube.
|
||||
|
||||
**Returns**: `Promise.<Search>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | The search query |
|
||||
| filters? | `SearchFilters` | Search filters |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<search>#selectRefinementCard(SearchRefinementCard | string)`
|
||||
- Applies given refinement card and returns a new Search instance.
|
||||
|
||||
- `<search>#refinement_card_queries`
|
||||
- Returns available refinement cards, this is a simplified version of the `refinement_cards` object.
|
||||
|
||||
- `<search>#getContinuation()`
|
||||
- Retrieves next batch of results.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getsearchsuggestions"></a>
|
||||
### getSearchSuggestions(query)
|
||||
Retrieves search suggestions for given query.
|
||||
|
||||
**Returns**: `Promise.<string[]>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | The search query |
|
||||
|
||||
<a name="getcomments"></a>
|
||||
### getComments(video_id, sort_by?)
|
||||
Retrieves comments for given video.
|
||||
|
||||
**Returns**: `Promise.<Comments>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | The video id |
|
||||
| sort_by | `string` | Can be: `TOP_COMMENTS` or `NEWEST_FIRST` |
|
||||
|
||||
See [`./examples/comments`](https://github.com/LuanRT/YouTube.js/blob/main/examples/comments) for examples.
|
||||
|
||||
<a name="gethomefeed"></a>
|
||||
### getHomeFeed()
|
||||
Retrieves YouTube's home feed.
|
||||
|
||||
**Returns**: `Promise.<FilterableFeed>`
|
||||
|
||||
<a name="getlibrary"></a>
|
||||
### getLibrary()
|
||||
Retrieves the account's library.
|
||||
|
||||
**Returns**: `Promise.<Library>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<library>#history`
|
||||
- `<library>#watch_later`
|
||||
- `<library>#liked_videos`
|
||||
- `<library>#playlists`
|
||||
- `<library>#clips`
|
||||
- `<library>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gethistory"></a>
|
||||
### getHistory()
|
||||
Retrieves watch history.
|
||||
|
||||
**Returns**: `Promise.<History>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<history>#getContinuation()`
|
||||
- Retrieves next batch of contents.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gettrending"></a>
|
||||
### getTrending()
|
||||
Retrieves trending content.
|
||||
|
||||
**Returns**: `Promise.<TabbedFeed>`
|
||||
|
||||
<a name="getsubscriptionsfeed"></a>
|
||||
### getSubscriptionsFeed()
|
||||
Retrieves subscriptions feed.
|
||||
|
||||
**Returns**: `Promise.<Feed>`
|
||||
|
||||
<a name="getchannel"></a>
|
||||
### getChannel(id)
|
||||
Retrieves contents for a given channel.
|
||||
|
||||
**Returns**: `Promise.<Channel>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| id | `string` | Channel id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<channel>#getVideos()`
|
||||
- `<channel>#getPlaylists()`
|
||||
- `<channel>#getHome()`
|
||||
- `<channel>#getCommunity()`
|
||||
- `<channel>#getChannels()`
|
||||
- `<channel>#getAbout()`
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
See [`./examples/channel`](https://github.com/LuanRT/YouTube.js/blob/main/examples/channel) for examples.
|
||||
|
||||
<a name="getnotifications"></a>
|
||||
### getNotifications()
|
||||
Retrieves notifications.
|
||||
|
||||
**Returns**: `Promise.<NotificationsMenu>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getter</summary>
|
||||
<p>
|
||||
|
||||
- `<notifications>#getContinuation()`
|
||||
- Retrieves next batch of notifications.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getunseennotificationscount"></a>
|
||||
### getUnseenNotificationsCount()
|
||||
Retrieves unseen notifications count.
|
||||
|
||||
**Returns**: `Promise.<number>`
|
||||
|
||||
<a name="getplaylist"></a>
|
||||
### getPlaylist(id)
|
||||
Retrieves playlist contents.
|
||||
|
||||
**Returns**: `Promise.<Playlist>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| id | `string` | Playlist id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getter</summary>
|
||||
<p>
|
||||
|
||||
- `<playlist>#items`
|
||||
- Returns the items of the playlist.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getstreamingdata"></a>
|
||||
### getStreamingData(video_id, options)
|
||||
Returns deciphered streaming data.
|
||||
|
||||
**Returns**: `Promise.<object>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| options | `FormatOptions` | Format options |
|
||||
|
||||
<a name="download"></a>
|
||||
### download(video_id, options?)
|
||||
Downloads a given video.
|
||||
|
||||
**Returns**: `Promise.<ReadableStream<Uint8Array>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| options | `DownloadOptions` | Download options |
|
||||
|
||||
See [`./examples/download`](https://github.com/LuanRT/YouTube.js/blob/main/examples/download) for examples.
|
||||
|
||||
<a name="call"></a>
|
||||
### call(endpoint, args?)
|
||||
Utility to call navigation endpoints.
|
||||
|
||||
**Returns**: `Promise.<ActionsResponse | ParsedResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| endpoint | `NavigationEndpoint` | The target endpoint |
|
||||
| args? | `object` | Additional payload arguments |
|
||||
|
||||
## Implementing custom functionality
|
||||
|
||||
Something cool about YouTube.js is that it is completely modular and easy to tinker with. Almost all methods, classes, and utilities used internally are exposed and can be used to implement your own extensions without having to modify the library's source code.
|
||||
|
||||
For example, you may want to call an endpoint directly, that can be achieved with the `Actions` class:
|
||||
|
||||
```ts
|
||||
// ...
|
||||
|
||||
const payload = {
|
||||
videoId: 'jLTOuvBTLxA',
|
||||
client: 'YTMUSIC', // InnerTube client, can be ANDROID, YTMUSIC, YTMUSIC_ANDROID, WEB or TV_EMBEDDED
|
||||
parse: true // tells YouTube.js to parse the response, this is not sent to InnerTube.
|
||||
};
|
||||
|
||||
const response = await yt.actions.execute('/player', payload);
|
||||
|
||||
console.info(response);
|
||||
```
|
||||
|
||||
Or maybe there's an interesting `NavigationEndpoint` in a parsed response and we want to call it to see what happens:
|
||||
|
||||
```ts
|
||||
// ...
|
||||
const artist = await yt.music.getArtist('UC52ZqHVQz5OoGhvbWiRal6g');
|
||||
const albums = artist.sections[1].as(MusicCarouselShelf);
|
||||
|
||||
// Say we have a button and want to “click” it
|
||||
const button = albums.as(MusicCarouselShelf).header?.more_content;
|
||||
|
||||
if (button) {
|
||||
// To do that, we can call its navigation endpoint:
|
||||
const page = await button.endpoint.call(yt.actions, 'YTMUSIC', true);
|
||||
console.info(page);
|
||||
}
|
||||
```
|
||||
|
||||
### Parser
|
||||
|
||||
If you're working on an extension for the library or just want to have nicely typed and sanitized InnerTube responses for a project then have a look at our powerful parser!
|
||||
|
||||
<details>
|
||||
<summary>Example:</summary>
|
||||
<p>
|
||||
|
||||
```ts
|
||||
// See ./examples/parser
|
||||
|
||||
import { Parser } from 'youtubei.js';
|
||||
|
||||
import SectionList from 'youtubei.js/dist/src/parser/classes/SectionList';
|
||||
import SingleColumnBrowseResults from 'youtubei.js/dist/src/parser/classes/SingleColumnBrowseResults';
|
||||
|
||||
import MusicVisualHeader from 'youtubei.js/dist/src/parser/classes/MusicVisualHeader';
|
||||
import MusicImmersiveHeader from 'youtubei.js/dist/src/parser/classes/MusicImmersiveHeader';
|
||||
import MusicCarouselShelf from 'youtubei.js/dist/src/parser/classes/MusicCarouselShelf';
|
||||
import MusicDescriptionShelf from 'youtubei.js/dist/src/parser/classes/MusicDescriptionShelf';
|
||||
import MusicShelf from 'youtubei.js/dist/src/parser/classes/MusicShelf';
|
||||
|
||||
import { readFileSync } from 'fs';
|
||||
|
||||
// Artist page response from YouTube Music
|
||||
const data = readFileSync('./artist.json').toString();
|
||||
|
||||
const page = Parser.parseResponse(JSON.parse(data));
|
||||
|
||||
const header = page.header.item().as(MusicImmersiveHeader, MusicVisualHeader);
|
||||
|
||||
console.info('Header:', header);
|
||||
|
||||
// The parser encapsulates all arrays in a proxy object.
|
||||
// A proxy intercepts access to the actual data, allowing
|
||||
// the parser to add type safety and many utility methods
|
||||
// that make working with InnerTube much easier.
|
||||
const tab = page.contents.item().as(SingleColumnBrowseResults).tabs.get({ selected: false });
|
||||
|
||||
if (!tab)
|
||||
throw new Error('Target tab not found');
|
||||
|
||||
if (!tab.content)
|
||||
throw new Error('Target tab appears to be empty');
|
||||
|
||||
const sections = tab.content?.as(SectionList).contents.array().as(MusicCarouselShelf, MusicDescriptionShelf, MusicShelf);
|
||||
|
||||
console.info('Sections:', sections);
|
||||
```
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
Detailed documentation can be found [here](https://github.com/LuanRT/YouTube.js/blob/main/src/parser).
|
||||
|
||||
<!-- CONTRIBUTING -->
|
||||
## Contributing
|
||||
Contributions, issues, and feature requests are welcome.
|
||||
Feel free to check the [issues page](https://github.com/LuanRT/YouTube.js/issues) and our [guidelines](https://github.com/LuanRT/YouTube.js/blob/main/CONTRIBUTING.md) if you want to contribute.
|
||||
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 -->
|
||||
## Contributors
|
||||
<a href="https://github.com/LuanRT/YouTube.js/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=LuanRT/YouTube.js" />
|
||||
</a>
|
||||
|
||||
<!-- CONTACT -->
|
||||
## Contact
|
||||
|
||||
LuanRT - [@lrt_nooneknows][twitter] - luan.lrt4@gmail.com
|
||||
|
||||
Project Link: [https://github.com/LuanRT/YouTube.js][project]
|
||||
|
||||
## Disclaimer
|
||||
This project is not affiliated with, endorsed, or sponsored by YouTube or any of its affiliates or subsidiaries.
|
||||
All trademarks, logos, and brand names are the property of their respective owners and are used only to directly describe the services being provided, as such, any usage of trademarks to refer to such services is considered nominative use.
|
||||
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.
|
||||
|
||||
<!-- Footnotes -->
|
||||
[^1]: https://gizmodo.com/how-project-innertube-helped-pull-youtube-out-of-the-gu-1704946491
|
||||
|
||||
<!-- LICENSE -->
|
||||
## License
|
||||
Distributed under the [MIT](https://choosealicense.com/licenses/mit/) License.
|
||||
|
||||
<p align=" right">
|
||||
<p align="right">
|
||||
(<a href="#top">back to top</a>)
|
||||
</p>
|
||||
</p>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
// Deno and browser runtimes
|
||||
|
||||
import Innertube from './src/Innertube';
|
||||
|
||||
export * from './src/utils';
|
||||
export { YTNodes } from './src/parser/map';
|
||||
export { default as Parser } from './src/parser';
|
||||
export { default as Innertube } from './src/Innertube';
|
||||
export default Innertube;
|
||||
2
bundle/browser.d.ts
vendored
2
bundle/browser.d.ts
vendored
@@ -1 +1 @@
|
||||
export * from '../dist/browser';
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
49
dev-scripts/gen-parser-map.mjs
Normal file
49
dev-scripts/gen-parser-map.mjs
Normal file
@@ -0,0 +1,49 @@
|
||||
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));
|
||||
|
||||
// Use case-insensitive sorting, to ensure the order stays consistent between runs
|
||||
const collator = new Intl.Collator('en', { sensitivity: 'base' });
|
||||
|
||||
fs.readdirSync(path.join(__dirname, '../src/parser/classes'), { recursive: true })
|
||||
.sort((a, b) => collator.compare(a, b))
|
||||
.forEach((file) => {
|
||||
if (file.endsWith('.ts') || file.endsWith('.js')) {
|
||||
// Convert Windows paths to posix ones
|
||||
file = file.replaceAll('\\', '/')
|
||||
|
||||
// Trim path
|
||||
const is_misc = file.startsWith('misc/');
|
||||
file = file.replace('.js', '').replace('.ts', '');
|
||||
const import_name = file.split('/').pop();
|
||||
|
||||
if (is_misc) {
|
||||
misc_imports.push(`export { default as ${import_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 ./dev-scripts/gen-parser-map.mjs
|
||||
|
||||
${import_list.join('\n')}
|
||||
`
|
||||
);
|
||||
|
||||
fs.writeFileSync(
|
||||
path.resolve(__dirname, '../src/parser/misc.ts'),
|
||||
`// This file was auto generated, do not edit.
|
||||
// See ./dev-scripts/gen-parser-map.mjs
|
||||
|
||||
${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);
|
||||
}
|
||||
});
|
||||
});
|
||||
47
dev-scripts/get-agents.mjs
Normal file
47
dev-scripts/get-agents.mjs
Normal file
@@ -0,0 +1,47 @@
|
||||
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/raw/refs/heads/main/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[] };`);
|
||||
@@ -1,112 +0,0 @@
|
||||
# Account
|
||||
|
||||
YouTube account manager.
|
||||
|
||||
## API
|
||||
|
||||
* Account
|
||||
* [.channel](#channel)
|
||||
* [.getInfo()](#getinfo)
|
||||
* [.getTimeWatched()](#gettimewatched)
|
||||
* [.getSettings()](#getsettings)
|
||||
* [.getAnalytics](#getanalytics)
|
||||
|
||||
<a name="channel"></a>
|
||||
### channel
|
||||
|
||||
Channel settings.
|
||||
|
||||
**Returns:** `object`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<channel>#editName(new_name)`
|
||||
- Edits the name of the channel.
|
||||
|
||||
- `<channel>#editDescription(new_description)`
|
||||
- Edits channel description.
|
||||
|
||||
- `<channel>#getBasicAnalytics()`
|
||||
- Alias for [`Account#getAnalytics()`](#getanalytics) — returns basic channel analytics.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getinfo"></a>
|
||||
### getInfo()
|
||||
|
||||
Retrieves account information.
|
||||
|
||||
**Returns:** `Promise.<AccountInfo>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<accountinfo>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gettimewatched"></a>
|
||||
### getTimeWatched()
|
||||
|
||||
Retrieves time watched statistics.
|
||||
|
||||
**Returns:** `Promise.<TimeWatched>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<timewatched>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getsettings"></a>
|
||||
### getSettings()
|
||||
|
||||
Retrieves YouTube settings.
|
||||
|
||||
**Returns:** `Promise.<Settings>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<settings>#selectSidebarItem(name)`
|
||||
- Selects an item from the sidebar menu. Use `settings#sidebar_items` to see available items.
|
||||
|
||||
- `<settings>#getSettingOption(name)`
|
||||
- Finds a setting by name and returns it. Use `settings#setting_options` to see available options.
|
||||
|
||||
- `<settings>#setting_options`
|
||||
- Returns settings available in the page.
|
||||
|
||||
- `<settings>#sidebar_items`
|
||||
- Returns options available in the sidebar menu.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getanalytics"></a>
|
||||
### getAnalytics()
|
||||
|
||||
Retrieves basic channel analytics.
|
||||
|
||||
**Returns:** `Promise.<Analytics>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<analytics>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
@@ -1,108 +0,0 @@
|
||||
# InteractionManager
|
||||
|
||||
Handles direct interactions.
|
||||
|
||||
## API
|
||||
|
||||
* InteractionManager
|
||||
* [.like(video_id)](#like)
|
||||
* [.dislike(video_id)](#dislike)
|
||||
* [.removeLike(video_id)](#removelike)
|
||||
* [.subscribe(video_id)](#subscribe)
|
||||
* [.unsubscribe(video_id)](#unsubscribe)
|
||||
* [.comment(video_id, text)](#comment)
|
||||
* [.translate(text, target_language, args?)](#translate)
|
||||
* [.setNotificationPreferences(channel_id, type)](#setnotificationpreferences)
|
||||
|
||||
<a name="like"></a>
|
||||
### like(video_id)
|
||||
|
||||
Likes given video.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="dislike"></a>
|
||||
### dislike(video_id)
|
||||
|
||||
Dislikes given video.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="removelike"></a>
|
||||
### removeLike(video_id)
|
||||
|
||||
Remover like/dislike.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="subscribe"></a>
|
||||
### subscribe(channel_id)
|
||||
|
||||
Subscribes to given channel.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
|
||||
<a name="unsubscribe"></a>
|
||||
### unsubscribe(channel_id)
|
||||
|
||||
Unsubscribes from given channel.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
|
||||
<a name="comment"></a>
|
||||
### comment(video_id, text)
|
||||
|
||||
Posts a comment on given video.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| text | `string` | Comment content |
|
||||
|
||||
<a name="translate"></a>
|
||||
### translate(text, target_language, args?)
|
||||
|
||||
Translates given text using YouTube's comment translation feature.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| text | `string` | Text to be translated |
|
||||
| target_language | `string` | ISO language code |
|
||||
| args? | `object` | Additional arguments |
|
||||
|
||||
<a name="setnotificationpreferences"></a>
|
||||
### setNotificationPreferences(channel_id, type)
|
||||
|
||||
Changes notification preferences for a given channel.
|
||||
Only works with channels you are subscribed to.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
| type | `string` | `PERSONALIZED`, `ALL` or `NONE` |
|
||||
@@ -1,294 +0,0 @@
|
||||
# Music
|
||||
|
||||
YouTube Music class.
|
||||
|
||||
## API
|
||||
|
||||
* Music
|
||||
* [.getInfo(target)](#getinfo)
|
||||
* [.search(query, filters?)](#search)
|
||||
* [.getHomeFeed()](#gethomefeed)
|
||||
* [.getExplore()](#getexplore)
|
||||
* [.getLibrary()](#getlibrary)
|
||||
* [.getArtist(artist_id)](#getartist)
|
||||
* [.getAlbum(album_id)](#getalbum)
|
||||
* [.getPlaylist(playlist_id)](#getplaylist)
|
||||
* [.getLyrics(video_id)](#getlyrics)
|
||||
* [.getUpNext(video_id, automix?)](#getupnext)
|
||||
* [.getRelated(video_id)](#getrelated)
|
||||
* [.getRecap()](#getrecap)
|
||||
* [.getSearchSuggestions(query)](#getsearchsuggestions)
|
||||
|
||||
<a name="getinfo"></a>
|
||||
### getInfo(target)
|
||||
|
||||
Retrieves track info.
|
||||
|
||||
**Returns:** `Promise.<TrackInfo>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| target | `string` or `MusicTwoRowItem` | video id or list item |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<info>#getTab(title)`
|
||||
- Retrieves contents of the given tab.
|
||||
|
||||
- `<info>#getUpNext(automix?)`
|
||||
- Retrieves up next.
|
||||
|
||||
- `<info>#getRelated()`
|
||||
- Retrieves related content.
|
||||
|
||||
- `<info>#getLyrics()`
|
||||
- Retrieves song lyrics.
|
||||
|
||||
- `<info>#available_tabs`
|
||||
- Returns available tabs.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="search"></a>
|
||||
### search(query, filters?)
|
||||
|
||||
Searches on YouTube Music.
|
||||
|
||||
**Returns:** `Promise.<Search>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | Search query |
|
||||
| filters? | `object` | Search filters |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<search>#getMore(shelf)`
|
||||
- Equivalent to clicking on the shelf to load more items.
|
||||
|
||||
- `<search>#getContinuation()`
|
||||
- Retrieves continuation, only works for individual sections or filtered results.
|
||||
|
||||
- `<search>#selectFilter(name)`
|
||||
- Applies given filter to the search.
|
||||
|
||||
- `<search>#has_continuation`
|
||||
- Checks if continuation is available.
|
||||
|
||||
- `<search>#filters`
|
||||
- Returns available filters.
|
||||
|
||||
- `<search>#songs`
|
||||
- Returns songs shelf.
|
||||
|
||||
- `<search>#videos`
|
||||
- Returns videos shelf.
|
||||
|
||||
- `<search>#albums`
|
||||
- Returns albums shelf.
|
||||
|
||||
- `<search>#artists`
|
||||
- Returns artists shelf.
|
||||
|
||||
- `<search>#playlists`
|
||||
- Returns songs shelf.
|
||||
|
||||
- `<search>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gethomefeed"></a>
|
||||
### getHomeFeed()
|
||||
|
||||
Retrieves home feed.
|
||||
|
||||
**Returns:** `Promise.<HomeFeed>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<homefeed>#getContinuation()`
|
||||
- Retrieves continuation, only works for individual sections or filtered results.
|
||||
|
||||
- `<homefeed>#has_continuation`
|
||||
- Checks if continuation is available.
|
||||
|
||||
- `<homefeed>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getexplore"></a>
|
||||
### getExplore()
|
||||
|
||||
Retrieves “Explore” feed.
|
||||
|
||||
**Returns:** `Promise.<Explore>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<explore>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getlibrary"></a>
|
||||
### getLibrary()
|
||||
|
||||
Retrieves library.
|
||||
|
||||
**Returns:** `Promise.<Library>`
|
||||
|
||||
<!-- TODO: document Library's methods and getters. -->
|
||||
|
||||
<a name="getartist"></a>
|
||||
### getArtist(artist_id)
|
||||
|
||||
Retrieves artist's info & content.
|
||||
|
||||
**Returns:** `Promise.<Artist>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| artist_id | `string` | Artist id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<artist>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getalbum"></a>
|
||||
### getAlbum(album_id)
|
||||
|
||||
Retrieves given album.
|
||||
|
||||
**Returns:** `Promise.<Album>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| album_id | `string` | Album id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<album>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getplaylist"></a>
|
||||
### getPlaylist(playlist_id)
|
||||
|
||||
Retrieves given playlist.
|
||||
|
||||
**Returns:** `Promise.<Playlist>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<playlist>#getRelated()`
|
||||
- Retrieves related playlists.
|
||||
|
||||
- `<playlist>#getSuggestions()`
|
||||
- Retrieves playlist suggestions.
|
||||
|
||||
- `<playlist>#getContinuation()`
|
||||
- Retrieves continuation.
|
||||
|
||||
- `<playlist>#has_continuation`
|
||||
- Checks if continuation is available.
|
||||
|
||||
- `<playlist>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getlyrics"></a>
|
||||
### getLyrics(video_id)
|
||||
|
||||
Retrieves song lyrics.
|
||||
|
||||
**Returns:** `Promise.<MusicDescriptionShelf | undefined>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="getupnext"></a>
|
||||
### getUpNext(video_id, automix?)
|
||||
|
||||
Retrieves up next content.
|
||||
|
||||
**Returns:** `Promise.<PlaylistPanel>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| automix? | `boolean` | if automix should be fetched |
|
||||
|
||||
<a name="getrelated"></a>
|
||||
### getRelated(video_id)
|
||||
|
||||
Retrieves related content.
|
||||
|
||||
**Returns:** `Promise.<Array.<MusicCarouselShelf | MusicDescriptionShelf>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="getrecap"></a>
|
||||
### getRecap()
|
||||
|
||||
Retrieves your YouTube Music recap.
|
||||
|
||||
**Returns:** `Promise.<Recap>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<recap>#getPlaylist()`
|
||||
- Retrieves recap playlist.
|
||||
|
||||
- `<recap>#page`
|
||||
- Returns original InnerTube response (sanitized).
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getsearchsuggestions"></a>
|
||||
### getSearchSuggestions(query)
|
||||
|
||||
Retrieves search suggestions.
|
||||
|
||||
**Returns:** `Promise.<Array.<SearchSuggestion | HistorySuggestion>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | Search query |
|
||||
@@ -1,72 +0,0 @@
|
||||
# PlaylistManager
|
||||
|
||||
Playlist management class.
|
||||
|
||||
## API
|
||||
|
||||
* PlaylistManager
|
||||
* [.create(title, video_ids)](#create)
|
||||
* [.delete(playlist_id)](#delete)
|
||||
* [.addVideos(playlist_id, video_ids)](#addvideos)
|
||||
* [.removeVideos(playlist_id, video_ids)](#removevideos)
|
||||
* [.moveVideo(playlist_id, moved_video_id, predecessor_video_id)](#movevideo)
|
||||
|
||||
<a name="create"></a>
|
||||
### create(title, video_ids)
|
||||
|
||||
Creates a playlist.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| title | `string` | Playlist name |
|
||||
| video_ids | `string[]` | array of videos |
|
||||
|
||||
<a name="delete"></a>
|
||||
### delete(playlist_id)
|
||||
|
||||
Deletes given playlist.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
|
||||
<a name="addvideos"></a>
|
||||
### addVideos(playlist_id, video_ids)
|
||||
|
||||
Adds videos to given playlist.
|
||||
|
||||
**Returns:** `Promise.<{ playlist_id: string; action_result: any[] }>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
| video_ids | `string` | array of videos |
|
||||
|
||||
<a name="removevideos"></a>
|
||||
### removeVideos(playlist_id, video_ids)
|
||||
|
||||
Removes videos from given playlist.
|
||||
|
||||
**Returns:** `Promise.<{ playlist_id: string; action_result: any[] }>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
| video_ids | `string` | array of videos |
|
||||
|
||||
<a name="movevideo"></a>
|
||||
### moveVideo(playlist_id, moved_video_id, predecessor_video_id)
|
||||
|
||||
Moves a video to a new position within a given playlist.
|
||||
|
||||
**Returns:** `Promise.<{ playlist_id: string; action_result: any[] }>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
| moved_video_id | `string` | the video to be moved |
|
||||
| predecessor_video_id | `string` | the video present in the target position |
|
||||
@@ -1,83 +0,0 @@
|
||||
# Session
|
||||
|
||||
Represents an InnerTube session.
|
||||
|
||||
## API
|
||||
|
||||
* Session
|
||||
* [.signIn(credentials?)](#signin) ⇒ `function`
|
||||
* [.signOut()](#signout) ⇒ `function`
|
||||
* [.key](#key) ⇒ `getter`
|
||||
* [.api_version](#api_version) ⇒ `getter`
|
||||
* [.client_version](#client_version) ⇒ `getter`
|
||||
* [.client_name](#client_name) ⇒ `getter`
|
||||
* [.context](#context) ⇒ `getter`
|
||||
* [.player](#player) ⇒ `getter`
|
||||
* [.lang](#lang) ⇒ `getter`
|
||||
|
||||
<a name="signin"></a>
|
||||
### signIn(credentials?)
|
||||
|
||||
Signs in with given credentials.
|
||||
|
||||
**Returns:** `Promise<void>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| credentials? | `Credentials` | OAuth credentials |
|
||||
|
||||
<a name="signout"></a>
|
||||
### signOut()
|
||||
|
||||
Signs out of the current account.
|
||||
|
||||
**Returns:** `Promise<ActionsResponse>`
|
||||
|
||||
<a name="key"></a>
|
||||
### key
|
||||
|
||||
InnerTube API key.
|
||||
|
||||
**Returns:** `string`
|
||||
|
||||
<a name="api_version"></a>
|
||||
### api_version
|
||||
|
||||
InnerTube API version.
|
||||
|
||||
**Returns:** `string`
|
||||
|
||||
<a name="client_version"></a>
|
||||
### client_version
|
||||
|
||||
InnerTube client version.
|
||||
|
||||
**Returns:** `string`
|
||||
|
||||
<a name="client_name"></a>
|
||||
### client_name
|
||||
|
||||
InnerTube client name.
|
||||
|
||||
**Returns:** `string`
|
||||
|
||||
<a name="context"></a>
|
||||
### context
|
||||
|
||||
InnerTube context.
|
||||
|
||||
**Returns:** `Context`
|
||||
|
||||
<a name="player"></a>
|
||||
### player
|
||||
|
||||
Player script object.
|
||||
|
||||
**Returns:** `Player`
|
||||
|
||||
<a name="lang"></a>
|
||||
### lang
|
||||
|
||||
Client language.
|
||||
|
||||
**Returns:** `string`
|
||||
@@ -1,33 +0,0 @@
|
||||
# Studio
|
||||
|
||||
YouTube Studio class (WIP).
|
||||
|
||||
## API
|
||||
|
||||
* Studio
|
||||
* [.setThumbnail(video_id, buffer)](#setthumbnail)
|
||||
* [.upload(file, metadata)](#upload)
|
||||
|
||||
<a name="setthumbnail"></a>
|
||||
### setThumbnail(video_id, buffer)
|
||||
|
||||
Uploads a custom thumbnail and sets it for a video.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| buffer | `Uint8Array` | Thumbnail buffer |
|
||||
|
||||
<a name="upload"></a>
|
||||
### upload(file, metadata)
|
||||
|
||||
Uploads a video to YouTube.
|
||||
|
||||
**Returns:** `Promise.<ActionsResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| file | `BodyInit` | Video file |
|
||||
| metadata | `VideoMetadata` | Video metadata |
|
||||
147
docs/api/README.md
Normal file
147
docs/api/README.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# youtubei.js
|
||||
|
||||
## Namespaces
|
||||
|
||||
- [APIResponseTypes](youtubei.js/namespaces/APIResponseTypes/README.md)
|
||||
- [BinarySerializer](youtubei.js/namespaces/BinarySerializer/README.md)
|
||||
- [Clients](youtubei.js/namespaces/Clients/README.md)
|
||||
- [Constants](youtubei.js/namespaces/Constants/README.md)
|
||||
- [FormatUtils](youtubei.js/namespaces/FormatUtils/README.md)
|
||||
- [Generator](youtubei.js/namespaces/Generator/README.md)
|
||||
- [Helpers](youtubei.js/namespaces/Helpers/README.md)
|
||||
- [JsHelpers](youtubei.js/namespaces/JsHelpers/README.md)
|
||||
- [JsMatchers](youtubei.js/namespaces/JsMatchers/README.md)
|
||||
- [Log](youtubei.js/namespaces/Log/README.md)
|
||||
- [LZW](youtubei.js/namespaces/LZW/README.md)
|
||||
- [Managers](youtubei.js/namespaces/Managers/README.md)
|
||||
- [Misc](youtubei.js/namespaces/Misc/README.md)
|
||||
- [Mixins](youtubei.js/namespaces/Mixins/README.md)
|
||||
- [Parser](youtubei.js/namespaces/Parser/README.md)
|
||||
- [ProtoUtils](youtubei.js/namespaces/ProtoUtils/README.md)
|
||||
- [Types](youtubei.js/namespaces/Types/README.md)
|
||||
- [Utils](youtubei.js/namespaces/Utils/README.md)
|
||||
- [YT](youtubei.js/namespaces/YT/README.md)
|
||||
- [YTKids](youtubei.js/namespaces/YTKids/README.md)
|
||||
- [YTMusic](youtubei.js/namespaces/YTMusic/README.md)
|
||||
- [YTNodes](youtubei.js/namespaces/YTNodes/README.md)
|
||||
- [YTShorts](youtubei.js/namespaces/YTShorts/README.md)
|
||||
|
||||
## Enumerations
|
||||
|
||||
- [ClientType](enumerations/ClientType.md)
|
||||
|
||||
## Classes
|
||||
|
||||
- [Actions](classes/Actions.md)
|
||||
- [AppendContinuationItemsAction](classes/AppendContinuationItemsAction.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)
|
||||
- [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)
|
||||
- [Context](type-aliases/Context.md)
|
||||
- [ContinuationRequest](type-aliases/ContinuationRequest.md)
|
||||
- [CreateCommentRequest](type-aliases/CreateCommentRequest.md)
|
||||
- [CreatePlaylistServiceRequest](type-aliases/CreatePlaylistServiceRequest.md)
|
||||
- [DeletePlaylistServiceRequest](type-aliases/DeletePlaylistServiceRequest.md)
|
||||
- [DeviceAndUserCode](type-aliases/DeviceAndUserCode.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)
|
||||
- [InnertubeEndpoint](type-aliases/InnertubeEndpoint.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)
|
||||
- [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)
|
||||
- [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)
|
||||
- [SessionArgs](type-aliases/SessionArgs.md)
|
||||
- [SessionData](type-aliases/SessionData.md)
|
||||
- [SessionOptions](type-aliases/SessionOptions.md)
|
||||
- [ShareEntityServiceRequest](type-aliases/ShareEntityServiceRequest.md)
|
||||
- [SubscribeRequest](type-aliases/SubscribeRequest.md)
|
||||
- [SWSessionData](type-aliases/SWSessionData.md)
|
||||
- [UnsubscribeRequest](type-aliases/UnsubscribeRequest.md)
|
||||
- [WatchNextRequest](type-aliases/WatchNextRequest.md)
|
||||
- [WatchRequest](type-aliases/WatchRequest.md)
|
||||
|
||||
## References
|
||||
|
||||
### default
|
||||
|
||||
Renames and re-exports [Innertube](classes/Innertube.md)
|
||||
|
||||
***
|
||||
|
||||
### JsAnalyzer
|
||||
|
||||
Re-exports [JsAnalyzer](youtubei.js/namespaces/Types/classes/JsAnalyzer.md)
|
||||
|
||||
***
|
||||
|
||||
### JsExtractor
|
||||
|
||||
Re-exports [JsExtractor](youtubei.js/namespaces/Types/classes/JsExtractor.md)
|
||||
165
docs/api/classes/Actions.md
Normal file
165
docs/api/classes/Actions.md
Normal file
@@ -0,0 +1,165 @@
|
||||
[youtubei.js](../README.md) / Actions
|
||||
|
||||
# Class: Actions
|
||||
|
||||
Defined in: [src/core/Actions.ts:46](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L46)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Actions**(`session`): `Actions`
|
||||
|
||||
Defined in: [src/core/Actions.ts:49](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L49)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### session
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Actions`
|
||||
|
||||
## Properties
|
||||
|
||||
### session
|
||||
|
||||
> **session**: [`Session`](Session.md)
|
||||
|
||||
Defined in: [src/core/Actions.ts:47](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L47)
|
||||
|
||||
## Methods
|
||||
|
||||
### execute()
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **execute**\<`T`\>(`endpoint`, `args`): `Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
|
||||
|
||||
Defined in: [src/core/Actions.ts:81](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L81)
|
||||
|
||||
Executes an API call.
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
###### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### endpoint
|
||||
|
||||
`T`
|
||||
|
||||
The endpoint to call.
|
||||
|
||||
###### args
|
||||
|
||||
Call arguments
|
||||
|
||||
###### parse
|
||||
|
||||
`true`
|
||||
|
||||
###### protobuf?
|
||||
|
||||
`false`
|
||||
|
||||
###### serialized_data?
|
||||
|
||||
`any`
|
||||
|
||||
###### skip_auth_check?
|
||||
|
||||
`boolean`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **execute**\<`T`\>(`endpoint`, `args?`): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
Defined in: [src/core/Actions.ts:88](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L88)
|
||||
|
||||
Executes an API call.
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
###### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### endpoint
|
||||
|
||||
`T`
|
||||
|
||||
The endpoint to call.
|
||||
|
||||
###### args?
|
||||
|
||||
Call arguments
|
||||
|
||||
###### parse?
|
||||
|
||||
`false`
|
||||
|
||||
###### protobuf?
|
||||
|
||||
`true`
|
||||
|
||||
###### serialized_data?
|
||||
|
||||
`any`
|
||||
|
||||
###### skip_auth_check?
|
||||
|
||||
`boolean`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
***
|
||||
|
||||
### stats()
|
||||
|
||||
> **stats**(`url`, `client`, `params`): `Promise`\<`Response`\>
|
||||
|
||||
Defined in: [src/core/Actions.ts:59](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L59)
|
||||
|
||||
Makes calls to the playback tracking API.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### url
|
||||
|
||||
`string`
|
||||
|
||||
The URL to call.
|
||||
|
||||
##### client
|
||||
|
||||
The client to use.
|
||||
|
||||
###### client_name
|
||||
|
||||
`string`
|
||||
|
||||
###### client_version
|
||||
|
||||
`string`
|
||||
|
||||
##### params
|
||||
|
||||
Call parameters.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
231
docs/api/classes/AppendContinuationItemsAction.md
Normal file
231
docs/api/classes/AppendContinuationItemsAction.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / AppendContinuationItemsAction
|
||||
|
||||
# Class: AppendContinuationItemsAction
|
||||
|
||||
Defined in: [src/parser/classes/actions/AppendContinuationItemsAction.ts:6](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/classes/actions/AppendContinuationItemsAction.ts#L6)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new AppendContinuationItemsAction**(`data`): `AppendContinuationItemsAction`
|
||||
|
||||
Defined in: [src/parser/classes/actions/AppendContinuationItemsAction.ts:12](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/classes/actions/AppendContinuationItemsAction.ts#L12)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`AppendContinuationItemsAction`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/classes/actions/AppendContinuationItemsAction.ts:9](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/classes/actions/AppendContinuationItemsAction.ts#L9)
|
||||
|
||||
***
|
||||
|
||||
### target
|
||||
|
||||
> **target**: `string`
|
||||
|
||||
Defined in: [src/parser/classes/actions/AppendContinuationItemsAction.ts:10](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/classes/actions/AppendContinuationItemsAction.ts#L10)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `static` **type**: `string` = `'AppendContinuationItemsAction'`
|
||||
|
||||
Defined in: [src/parser/classes/actions/AppendContinuationItemsAction.ts:7](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/classes/actions/AppendContinuationItemsAction.ts#L7)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is AppendContinuationItemsAction & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
`this is AppendContinuationItemsAction & { [k in string]: R }`
|
||||
|
||||
Whether the node has the key
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
247
docs/api/classes/Continuation.md
Normal file
247
docs/api/classes/Continuation.md
Normal file
@@ -0,0 +1,247 @@
|
||||
[youtubei.js](../README.md) / Continuation
|
||||
|
||||
# Class: Continuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:139](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L139)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Continuation**(`data`): `Continuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:147](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L147)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Continuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### continuation\_type
|
||||
|
||||
> **continuation\_type**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:142](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L143)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L145)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"continuation"` = `'continuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:140](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L140)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is Continuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
231
docs/api/classes/ContinuationCommand.md
Normal file
231
docs/api/classes/ContinuationCommand.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / ContinuationCommand
|
||||
|
||||
# Class: ContinuationCommand
|
||||
|
||||
Defined in: [src/parser/continuations.ts:214](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L214)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new ContinuationCommand**(`data`): `ContinuationCommand`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:220](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L220)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`ContinuationCommand`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### request
|
||||
|
||||
> **request**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:217](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L217)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L218)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"ContinuationCommand"` = `'ContinuationCommand'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:215](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L215)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ContinuationCommand & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
224
docs/api/classes/EventEmitter.md
Normal file
224
docs/api/classes/EventEmitter.md
Normal file
@@ -0,0 +1,224 @@
|
||||
[youtubei.js](../README.md) / EventEmitter
|
||||
|
||||
# Class: EventEmitter
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:3](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L3)
|
||||
|
||||
## Extends
|
||||
|
||||
- `EventTarget`
|
||||
|
||||
## Extended by
|
||||
|
||||
- [`Session`](Session.md)
|
||||
- [`LiveChat`](../youtubei.js/namespaces/YT/classes/LiveChat.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new EventEmitter**(): `EventEmitterLike`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:6](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L6)
|
||||
|
||||
#### Returns
|
||||
|
||||
`EventEmitterLike`
|
||||
|
||||
#### Overrides
|
||||
|
||||
`EventTarget.constructor`
|
||||
|
||||
## Methods
|
||||
|
||||
### addEventListener()
|
||||
|
||||
> **addEventListener**(`type`, `callback`, `options?`): `void`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8256
|
||||
|
||||
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
|
||||
|
||||
`EventListenerOrEventListenerObject` | `null`
|
||||
|
||||
##### options?
|
||||
|
||||
`boolean` | `AddEventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
`EventTarget.addEventListener`
|
||||
|
||||
***
|
||||
|
||||
### dispatchEvent()
|
||||
|
||||
> **dispatchEvent**(`event`): `boolean`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8262
|
||||
|
||||
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`
|
||||
|
||||
***
|
||||
|
||||
### emit()
|
||||
|
||||
> **emit**(`type`, ...`args`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L10)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### args
|
||||
|
||||
...`any`[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### off()
|
||||
|
||||
> **off**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L40)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### listener
|
||||
|
||||
(...`args`) => `void`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### on()
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:15](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L15)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### listener
|
||||
|
||||
(...`args`) => `void`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### once()
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:27](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L27)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### listener
|
||||
|
||||
(...`args`) => `void`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### removeEventListener()
|
||||
|
||||
> **removeEventListener**(`type`, `callback`, `options?`): `void`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8268
|
||||
|
||||
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
|
||||
|
||||
`EventListenerOrEventListenerObject` | `null`
|
||||
|
||||
##### options?
|
||||
|
||||
`boolean` | `EventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
`EventTarget.removeEventListener`
|
||||
245
docs/api/classes/GridContinuation.md
Normal file
245
docs/api/classes/GridContinuation.md
Normal file
@@ -0,0 +1,245 @@
|
||||
[youtubei.js](../README.md) / GridContinuation
|
||||
|
||||
# Class: GridContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:108](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L108)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new GridContinuation**(`data`): `GridContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:114](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L114)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`GridContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:111](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L111)
|
||||
|
||||
***
|
||||
|
||||
### items
|
||||
|
||||
> **items**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:112](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L112)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"gridContinuation"` = `'gridContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:109](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L109)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Accessors
|
||||
|
||||
### contents
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **contents**(): [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:120](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L120)
|
||||
|
||||
##### Returns
|
||||
|
||||
[`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is GridContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
101
docs/api/classes/HTTPClient.md
Normal file
101
docs/api/classes/HTTPClient.md
Normal file
@@ -0,0 +1,101 @@
|
||||
[youtubei.js](../README.md) / HTTPClient
|
||||
|
||||
# Class: HTTPClient
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L25)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new HTTPClient**(`session`, `cookie?`, `fetch?`): `HTTPClient`
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:30](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L30)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### session
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
##### cookie?
|
||||
|
||||
`string`
|
||||
|
||||
##### fetch?
|
||||
|
||||
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
|
||||
|
||||
#### Returns
|
||||
|
||||
`HTTPClient`
|
||||
|
||||
## Accessors
|
||||
|
||||
### fetch\_function
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **fetch\_function**(): \{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:36](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L36)
|
||||
|
||||
##### Returns
|
||||
|
||||
> (`input`, `init?`): `Promise`\<`Response`\>
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch)
|
||||
|
||||
###### Parameters
|
||||
|
||||
###### input
|
||||
|
||||
`URL` | `RequestInfo`
|
||||
|
||||
###### init?
|
||||
|
||||
`RequestInit`
|
||||
|
||||
###### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
> (`input`, `init?`): `Promise`\<`Response`\>
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch)
|
||||
|
||||
###### Parameters
|
||||
|
||||
###### input
|
||||
|
||||
`string` | `URL` | `Request`
|
||||
|
||||
###### init?
|
||||
|
||||
`RequestInit`
|
||||
|
||||
###### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
## Methods
|
||||
|
||||
### fetch()
|
||||
|
||||
> **fetch**(`input`, `init?`): `Promise`\<`Response`\>
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L40)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### input
|
||||
|
||||
`string` | `URL` | `Request`
|
||||
|
||||
##### init?
|
||||
|
||||
`RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
716
docs/api/classes/Innertube.md
Normal file
716
docs/api/classes/Innertube.md
Normal file
@@ -0,0 +1,716 @@
|
||||
[youtubei.js](../README.md) / Innertube
|
||||
|
||||
# Class: Innertube
|
||||
|
||||
Defined in: [src/Innertube.ts:64](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L64)
|
||||
|
||||
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
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Innertube**(`session`): `Innertube`
|
||||
|
||||
Defined in: [src/Innertube.ts:67](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L67)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### session
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Innertube`
|
||||
|
||||
## Accessors
|
||||
|
||||
### account
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **account**(): [`AccountManager`](../youtubei.js/namespaces/Managers/classes/AccountManager.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:609](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L609)
|
||||
|
||||
An interface for managing and retrieving account information.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`AccountManager`](../youtubei.js/namespaces/Managers/classes/AccountManager.md)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **actions**(): [`Actions`](Actions.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:630](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L630)
|
||||
|
||||
An internal class used to dispatch requests.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`Actions`](Actions.md)
|
||||
|
||||
***
|
||||
|
||||
### interact
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **interact**(): [`InteractionManager`](../youtubei.js/namespaces/Managers/classes/InteractionManager.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:623](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L623)
|
||||
|
||||
An interface for directly interacting with certain YouTube features.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`InteractionManager`](../youtubei.js/namespaces/Managers/classes/InteractionManager.md)
|
||||
|
||||
***
|
||||
|
||||
### kids
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **kids**(): [`Kids`](../youtubei.js/namespaces/Clients/classes/Kids.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:602](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L602)
|
||||
|
||||
An interface for interacting with YouTube Kids.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`Kids`](../youtubei.js/namespaces/Clients/classes/Kids.md)
|
||||
|
||||
***
|
||||
|
||||
### music
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **music**(): [`Music`](../youtubei.js/namespaces/Clients/classes/Music.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:588](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L588)
|
||||
|
||||
An interface for interacting with YouTube Music.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`Music`](../youtubei.js/namespaces/Clients/classes/Music.md)
|
||||
|
||||
***
|
||||
|
||||
### playlist
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **playlist**(): [`PlaylistManager`](../youtubei.js/namespaces/Managers/classes/PlaylistManager.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:616](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L616)
|
||||
|
||||
An interface for managing playlists.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`PlaylistManager`](../youtubei.js/namespaces/Managers/classes/PlaylistManager.md)
|
||||
|
||||
***
|
||||
|
||||
### session
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **session**(): [`Session`](Session.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:637](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L637)
|
||||
|
||||
The session used by this instance.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
***
|
||||
|
||||
### studio
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **studio**(): [`Studio`](../youtubei.js/namespaces/Clients/classes/Studio.md)
|
||||
|
||||
Defined in: [src/Innertube.ts:595](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L595)
|
||||
|
||||
An interface for interacting with YouTube Studio.
|
||||
|
||||
##### Returns
|
||||
|
||||
[`Studio`](../youtubei.js/namespaces/Clients/classes/Studio.md)
|
||||
|
||||
## Methods
|
||||
|
||||
### call()
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **call**\<`T`\>(`endpoint`, `args`): `Promise`\<`T`\>
|
||||
|
||||
Defined in: [src/Innertube.ts:579](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L579)
|
||||
|
||||
Utility method to call an endpoint without having to use [Actions](Actions.md).
|
||||
|
||||
##### Type Parameters
|
||||
|
||||
###### T
|
||||
|
||||
`T` *extends* [`IParsedResponse`](../interfaces/IParsedResponse.md)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### endpoint
|
||||
|
||||
[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
###### args
|
||||
|
||||
###### parse
|
||||
|
||||
`true`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<`T`\>
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **call**(`endpoint`, `args?`): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:580](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L580)
|
||||
|
||||
Utility method to call an endpoint without having to use [Actions](Actions.md).
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### endpoint
|
||||
|
||||
[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
###### args?
|
||||
|
||||
###### parse?
|
||||
|
||||
`false`
|
||||
|
||||
##### Returns
|
||||
|
||||
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
|
||||
|
||||
***
|
||||
|
||||
### download()
|
||||
|
||||
> **download**(`video_id`, `options?`): `Promise`\<`ReadableStream`\<`Uint8Array`\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:477](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L477)
|
||||
|
||||
Downloads a given video. If all you need the direct download link, see [getStreamingData](#getstreamingdata).
|
||||
If you wish to retrieve the video info too, have a look at [getBasicInfo](#getbasicinfo) or [getInfo](#getinfo).
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### video\_id
|
||||
|
||||
`string`
|
||||
|
||||
The video id.
|
||||
|
||||
##### options?
|
||||
|
||||
[`DownloadOptions`](../youtubei.js/namespaces/Types/interfaces/DownloadOptions.md)
|
||||
|
||||
Download options.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`ReadableStream`\<`Uint8Array`\>\>
|
||||
|
||||
***
|
||||
|
||||
### getAttestationChallenge()
|
||||
|
||||
> **getAttestationChallenge**(`engagement_type`, `ids?`): `Promise`\<[`IGetChallengeResponse`](../type-aliases/IGetChallengeResponse.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:565](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L565)
|
||||
|
||||
Fetches an attestation challenge.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### engagement\_type
|
||||
|
||||
[`EngagementType`](../youtubei.js/namespaces/Types/type-aliases/EngagementType.md)
|
||||
|
||||
##### ids?
|
||||
|
||||
`Record`\<`string`, `any`\>[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`IGetChallengeResponse`](../type-aliases/IGetChallengeResponse.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getBasicInfo()
|
||||
|
||||
> **getBasicInfo**(`video_id`, `options?`): `Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:124](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L124)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### video\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### options?
|
||||
|
||||
[`GetVideoInfoOptions`](../youtubei.js/namespaces/Types/interfaces/GetVideoInfoOptions.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getChannel()
|
||||
|
||||
> **getChannel**(`id`): `Promise`\<[`Channel`](../youtubei.js/namespaces/YT/classes/Channel.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:391](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L391)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### id
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Channel`](../youtubei.js/namespaces/YT/classes/Channel.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getChannelsFeed()
|
||||
|
||||
> **getChannelsFeed**(): `Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:385](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L385)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getComments()
|
||||
|
||||
> **getComments**(`video_id`, `sort_by?`, `comment_id?`): `Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:306](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L306)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### video\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### sort\_by?
|
||||
|
||||
`"TOP_COMMENTS"` | `"NEWEST_FIRST"`
|
||||
|
||||
##### comment\_id?
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getCourses()
|
||||
|
||||
> **getCourses**(): `Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:373](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L373)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getGuide()
|
||||
|
||||
> **getGuide**(): `Promise`\<[`Guide`](../youtubei.js/namespaces/YT/classes/Guide.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:350](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L350)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Guide`](../youtubei.js/namespaces/YT/classes/Guide.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getHashtag()
|
||||
|
||||
> **getHashtag**(`hashtag`): `Promise`\<[`HashtagFeed`](../youtubei.js/namespaces/YT/classes/HashtagFeed.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:436](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L436)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### hashtag
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`HashtagFeed`](../youtubei.js/namespaces/YT/classes/HashtagFeed.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getHistory()
|
||||
|
||||
> **getHistory**(): `Promise`\<[`History`](../youtubei.js/namespaces/YT/classes/History.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:361](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L361)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`History`](../youtubei.js/namespaces/YT/classes/History.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getHomeFeed()
|
||||
|
||||
> **getHomeFeed**(): `Promise`\<[`HomeFeed`](../youtubei.js/namespaces/YT/classes/HomeFeed.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:344](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L344)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`HomeFeed`](../youtubei.js/namespaces/YT/classes/HomeFeed.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getInfo()
|
||||
|
||||
> **getInfo**(`target`, `options?`): `Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:75](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L75)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### target
|
||||
|
||||
`string` | [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
##### options?
|
||||
|
||||
[`GetVideoInfoOptions`](../youtubei.js/namespaces/Types/interfaces/GetVideoInfoOptions.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getLibrary()
|
||||
|
||||
> **getLibrary**(): `Promise`\<[`Library`](../youtubei.js/namespaces/YT/classes/Library.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:355](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L355)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Library`](../youtubei.js/namespaces/YT/classes/Library.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getNotifications()
|
||||
|
||||
> **getNotifications**(): `Promise`\<[`NotificationsMenu`](../youtubei.js/namespaces/YT/classes/NotificationsMenu.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:403](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L403)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`NotificationsMenu`](../youtubei.js/namespaces/YT/classes/NotificationsMenu.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getPlaylist()
|
||||
|
||||
> **getPlaylist**(`id`): `Promise`\<[`Playlist`](../youtubei.js/namespaces/YT/classes/Playlist.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:423](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L423)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### id
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Playlist`](../youtubei.js/namespaces/YT/classes/Playlist.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getPlaylists()
|
||||
|
||||
> **getPlaylists**(): `Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:417](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L417)
|
||||
|
||||
Retrieves the user's playlists.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getPost()
|
||||
|
||||
> **getPost**(`post_id`, `channel_id`): `Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:497](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L497)
|
||||
|
||||
Gets a post page given a post id and the channel id
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### post\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### channel\_id
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getPostComments()
|
||||
|
||||
> **getPostComments**(`post_id`, `channel_id`, `sort_by?`): `Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:518](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L518)
|
||||
|
||||
Gets the comments of a post.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### post\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### channel\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### sort\_by?
|
||||
|
||||
`"TOP_COMMENTS"` | `"NEWEST_FIRST"`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getSearchSuggestions()
|
||||
|
||||
> **getSearchSuggestions**(`query`, `previous_query?`): `Promise`\<`string`[]\>
|
||||
|
||||
Defined in: [src/Innertube.ts:277](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L277)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### query
|
||||
|
||||
`string`
|
||||
|
||||
##### previous\_query?
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`string`[]\>
|
||||
|
||||
***
|
||||
|
||||
### getShortsVideoInfo()
|
||||
|
||||
> **getShortsVideoInfo**(`video_id`, `client?`): `Promise`\<[`ShortFormVideoInfo`](../youtubei.js/namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:166](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L166)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### video\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### client?
|
||||
|
||||
[`InnerTubeClient`](../youtubei.js/namespaces/Types/type-aliases/InnerTubeClient.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`ShortFormVideoInfo`](../youtubei.js/namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getStreamingData()
|
||||
|
||||
> **getStreamingData**(`video_id`, `options`): `Promise`\<[`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:462](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L462)
|
||||
|
||||
An alternative to [download](#download).
|
||||
Returns deciphered streaming data.
|
||||
|
||||
If you wish to retrieve the video info too, have a look at [getBasicInfo](#getbasicinfo) or [getInfo](#getinfo).
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### video\_id
|
||||
|
||||
`string`
|
||||
|
||||
The video id.
|
||||
|
||||
##### options
|
||||
|
||||
[`FormatOptions`](../youtubei.js/namespaces/Types/interfaces/FormatOptions.md) = `{}`
|
||||
|
||||
Format options.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getSubscriptionsFeed()
|
||||
|
||||
> **getSubscriptionsFeed**(): `Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:379](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L379)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getTrending()
|
||||
|
||||
> **getTrending**(): `Promise`\<[`TabbedFeed`](../youtubei.js/namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:367](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L367)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`TabbedFeed`](../youtubei.js/namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getUnseenNotificationsCount()
|
||||
|
||||
> **getUnseenNotificationsCount**(): `Promise`\<`number`\>
|
||||
|
||||
Defined in: [src/Innertube.ts:408](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L408)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`number`\>
|
||||
|
||||
***
|
||||
|
||||
### resolveURL()
|
||||
|
||||
> **resolveURL**(`url`): `Promise`\<[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:485](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L485)
|
||||
|
||||
Resolves the given URL.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### url
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)\>
|
||||
|
||||
***
|
||||
|
||||
### search()
|
||||
|
||||
> **search**(`query`, `filters`): `Promise`\<[`Search`](../youtubei.js/namespaces/YT/classes/Search.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:201](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L201)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### query
|
||||
|
||||
`string`
|
||||
|
||||
##### filters
|
||||
|
||||
[`SearchFilters`](../youtubei.js/namespaces/Types/type-aliases/SearchFilters.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Search`](../youtubei.js/namespaces/YT/classes/Search.md)\>
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`config`): `Promise`\<`Innertube`\>
|
||||
|
||||
Defined in: [src/Innertube.ts:71](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/Innertube.ts#L71)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### config
|
||||
|
||||
[`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Innertube`\>
|
||||
231
docs/api/classes/ItemSectionContinuation.md
Normal file
231
docs/api/classes/ItemSectionContinuation.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / ItemSectionContinuation
|
||||
|
||||
# Class: ItemSectionContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:9](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L9)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new ItemSectionContinuation**(`data`): `ItemSectionContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:15](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L15)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`ItemSectionContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/continuations.ts:12](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L12)
|
||||
|
||||
***
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L13)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"itemSectionContinuation"` = `'itemSectionContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:10](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L10)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ItemSectionContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
303
docs/api/classes/LiveChatContinuation.md
Normal file
303
docs/api/classes/LiveChatContinuation.md
Normal file
@@ -0,0 +1,303 @@
|
||||
[youtubei.js](../README.md) / LiveChatContinuation
|
||||
|
||||
# Class: LiveChatContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:156](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L156)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new LiveChatContinuation**(`data`): `LiveChatContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:174](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L174)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`LiveChatContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### action\_panel
|
||||
|
||||
> **action\_panel**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:160](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L160)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> **actions**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/continuations.ts:159](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L159)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: [`Continuation`](Continuation.md)
|
||||
|
||||
Defined in: [src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L171)
|
||||
|
||||
***
|
||||
|
||||
### emojis
|
||||
|
||||
> **emojis**: `object`[]
|
||||
|
||||
Defined in: [src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L165)
|
||||
|
||||
#### emoji\_id
|
||||
|
||||
> **emoji\_id**: `string`
|
||||
|
||||
#### image
|
||||
|
||||
> **image**: [`Thumbnail`](../youtubei.js/namespaces/Misc/classes/Thumbnail.md)[]
|
||||
|
||||
#### search\_terms
|
||||
|
||||
> **search\_terms**: `string`[]
|
||||
|
||||
#### shortcuts
|
||||
|
||||
> **shortcuts**: `string`[]
|
||||
|
||||
***
|
||||
|
||||
### header
|
||||
|
||||
> **header**: [`LiveChatHeader`](../youtubei.js/namespaces/YTNodes/classes/LiveChatHeader.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:162](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L162)
|
||||
|
||||
***
|
||||
|
||||
### item\_list
|
||||
|
||||
> **item\_list**: [`LiveChatItemList`](../youtubei.js/namespaces/YTNodes/classes/LiveChatItemList.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:161](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L161)
|
||||
|
||||
***
|
||||
|
||||
### participants\_list
|
||||
|
||||
> **participants\_list**: [`LiveChatParticipantsList`](../youtubei.js/namespaces/YTNodes/classes/LiveChatParticipantsList.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:163](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L163)
|
||||
|
||||
***
|
||||
|
||||
### popout\_message
|
||||
|
||||
> **popout\_message**: [`Message`](../youtubei.js/namespaces/YTNodes/classes/Message.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:164](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L164)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### viewer\_name
|
||||
|
||||
> **viewer\_name**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:172](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L172)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"liveChatContinuation"` = `'liveChatContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:157](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L157)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is LiveChatContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
231
docs/api/classes/MusicPlaylistShelfContinuation.md
Normal file
231
docs/api/classes/MusicPlaylistShelfContinuation.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / MusicPlaylistShelfContinuation
|
||||
|
||||
# Class: MusicPlaylistShelfContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:80](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L80)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new MusicPlaylistShelfContinuation**(`data`): `MusicPlaylistShelfContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:86](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L86)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`MusicPlaylistShelfContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:84](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L84)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L83)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"musicPlaylistShelfContinuation"` = `'musicPlaylistShelfContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:81](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L81)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicPlaylistShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
231
docs/api/classes/MusicShelfContinuation.md
Normal file
231
docs/api/classes/MusicShelfContinuation.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / MusicShelfContinuation
|
||||
|
||||
# Class: MusicShelfContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:93](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L93)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new MusicShelfContinuation**(`data`): `MusicShelfContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:99](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L99)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`MusicShelfContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/continuations.ts:97](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L97)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L96)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"musicShelfContinuation"` = `'musicShelfContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:94](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L94)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicShelfContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
223
docs/api/classes/NavigateAction.md
Normal file
223
docs/api/classes/NavigateAction.md
Normal file
@@ -0,0 +1,223 @@
|
||||
[youtubei.js](../README.md) / NavigateAction
|
||||
|
||||
# Class: NavigateAction
|
||||
|
||||
Defined in: [src/parser/continuations.ts:24](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L24)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new NavigateAction**(`data`): `NavigateAction`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L29)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`NavigateAction`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### endpoint
|
||||
|
||||
> **endpoint**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
Defined in: [src/parser/continuations.ts:27](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"navigateAction"` = `'navigateAction'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L25)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is NavigateAction & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
227
docs/api/classes/OAuth2.md
Normal file
227
docs/api/classes/OAuth2.md
Normal file
@@ -0,0 +1,227 @@
|
||||
[youtubei.js](../README.md) / OAuth2
|
||||
|
||||
# Class: OAuth2
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:35](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L35)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new OAuth2**(`session`): `OAuth2`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:46](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L46)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### session
|
||||
|
||||
[`Session`](Session.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`OAuth2`
|
||||
|
||||
## Properties
|
||||
|
||||
### AUTH\_SERVER\_CODE\_URL
|
||||
|
||||
> **AUTH\_SERVER\_CODE\_URL**: `URL`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:39](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### client\_id
|
||||
|
||||
> **client\_id**: [`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md) \| `undefined`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:43](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L43)
|
||||
|
||||
***
|
||||
|
||||
### oauth2\_tokens
|
||||
|
||||
> **oauth2\_tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md) \| `undefined`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:44](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L44)
|
||||
|
||||
***
|
||||
|
||||
### YTTV\_URL
|
||||
|
||||
> **YTTV\_URL**: `URL`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L38)
|
||||
|
||||
## Methods
|
||||
|
||||
### cacheCredentials()
|
||||
|
||||
> **cacheCredentials**(): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:105](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L105)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### getClientID()
|
||||
|
||||
> **getClientID**(): `Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:268](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L268)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
|
||||
|
||||
***
|
||||
|
||||
### getDeviceAndUserCode()
|
||||
|
||||
> **getDeviceAndUserCode**(): `Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:236](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L236)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
|
||||
|
||||
***
|
||||
|
||||
### init()
|
||||
|
||||
> **init**(`tokens?`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:54](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L54)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### tokens?
|
||||
|
||||
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### pollForAccessToken()
|
||||
|
||||
> **pollForAccessToken**(`device_and_user_code`): `void`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:130](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L130)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### device\_and\_user\_code
|
||||
|
||||
[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### refreshAccessToken()
|
||||
|
||||
> **refreshAccessToken**(): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:197](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L197)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### removeCache()
|
||||
|
||||
> **removeCache**(): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:126](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L126)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### revokeCredentials()
|
||||
|
||||
> **revokeCredentials**(): `Promise`\<`Response` \| `undefined`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:185](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L185)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response` \| `undefined`\>
|
||||
|
||||
***
|
||||
|
||||
### setTokens()
|
||||
|
||||
> **setTokens**(`tokens`): `void`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:85](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L85)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### tokens
|
||||
|
||||
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
***
|
||||
|
||||
### shouldRefreshToken()
|
||||
|
||||
> **shouldRefreshToken**(): `boolean`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:313](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L313)
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
|
||||
***
|
||||
|
||||
### validateTokens()
|
||||
|
||||
> **validateTokens**(`tokens`): `boolean`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:319](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L319)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### tokens
|
||||
|
||||
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`boolean`
|
||||
47
docs/api/classes/Platform.md
Normal file
47
docs/api/classes/Platform.md
Normal file
@@ -0,0 +1,47 @@
|
||||
[youtubei.js](../README.md) / Platform
|
||||
|
||||
# Class: Platform
|
||||
|
||||
Defined in: [src/utils/Utils.ts:15](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Utils.ts#L15)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Platform**(): `Platform`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Platform`
|
||||
|
||||
## Accessors
|
||||
|
||||
### shim
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** `static` **shim**(): [`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
Defined in: [src/utils/Utils.ts:20](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Utils.ts#L20)
|
||||
|
||||
##### Returns
|
||||
|
||||
[`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
## Methods
|
||||
|
||||
### load()
|
||||
|
||||
> `static` **load**(`platform`): `void`
|
||||
|
||||
Defined in: [src/utils/Utils.ts:16](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Utils.ts#L16)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### platform
|
||||
|
||||
[`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
215
docs/api/classes/Player.md
Normal file
215
docs/api/classes/Player.md
Normal file
@@ -0,0 +1,215 @@
|
||||
[youtubei.js](../README.md) / Player
|
||||
|
||||
# Class: Player
|
||||
|
||||
Defined in: [src/core/Player.ts:37](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L37)
|
||||
|
||||
Represents YouTube's player script. This is required to decipher signatures.
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Player**(`player_id`, `signature_timestamp`, `data?`): `Player`
|
||||
|
||||
Defined in: [src/core/Player.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L40)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### player\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### signature\_timestamp
|
||||
|
||||
`number`
|
||||
|
||||
##### data?
|
||||
|
||||
[`BuildScriptResult`](../youtubei.js/namespaces/Types/interfaces/BuildScriptResult.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Player`
|
||||
|
||||
## Properties
|
||||
|
||||
### data?
|
||||
|
||||
> `optional` **data**: [`BuildScriptResult`](../youtubei.js/namespaces/Types/interfaces/BuildScriptResult.md)
|
||||
|
||||
Defined in: [src/core/Player.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### player\_id
|
||||
|
||||
> **player\_id**: `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:38](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L38)
|
||||
|
||||
***
|
||||
|
||||
### signature\_timestamp
|
||||
|
||||
> **signature\_timestamp**: `number`
|
||||
|
||||
Defined in: [src/core/Player.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L40)
|
||||
|
||||
## Accessors
|
||||
|
||||
### url
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **url**(): `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:284](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L284)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### LIBRARY\_VERSION
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** `static` **LIBRARY\_VERSION**(): `number`
|
||||
|
||||
Defined in: [src/core/Player.ts:288](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L288)
|
||||
|
||||
##### Returns
|
||||
|
||||
`number`
|
||||
|
||||
## Methods
|
||||
|
||||
### cache()
|
||||
|
||||
> **cache**(`cache?`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:270](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L270)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### cache?
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### decipher()
|
||||
|
||||
> **decipher**(`url?`, `signature_cipher?`, `cipher?`, `this_response_nsig_cache?`): `Promise`\<`string`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:134](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L134)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### url?
|
||||
|
||||
`string`
|
||||
|
||||
##### signature\_cipher?
|
||||
|
||||
`string`
|
||||
|
||||
##### cipher?
|
||||
|
||||
`string`
|
||||
|
||||
##### this\_response\_nsig\_cache?
|
||||
|
||||
`Map`\<`string`, `string`\>
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`string`\>
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`cache`, `fetch`, `po_token?`, `player_id?`): `Promise`\<`Player`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:42](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L42)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### cache
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md) | `undefined`
|
||||
|
||||
##### fetch
|
||||
|
||||
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
|
||||
|
||||
##### po\_token?
|
||||
|
||||
`string`
|
||||
|
||||
##### player\_id?
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Player`\>
|
||||
|
||||
***
|
||||
|
||||
### fromCache()
|
||||
|
||||
> `static` **fromCache**(`cache`, `player_id`): `Promise`\<`Player` \| `null`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:243](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L243)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### cache
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
##### player\_id
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Player` \| `null`\>
|
||||
|
||||
***
|
||||
|
||||
### fromSource()
|
||||
|
||||
> `static` **fromSource**(`player_id`, `options`): `Promise`\<`Player`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:264](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Player.ts#L264)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### player\_id
|
||||
|
||||
`string`
|
||||
|
||||
##### options
|
||||
|
||||
`PlayerInitializationOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Player`\>
|
||||
231
docs/api/classes/PlaylistPanelContinuation.md
Normal file
231
docs/api/classes/PlaylistPanelContinuation.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / PlaylistPanelContinuation
|
||||
|
||||
# Class: PlaylistPanelContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:125](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L125)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new PlaylistPanelContinuation**(`data`): `PlaylistPanelContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:131](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L131)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`PlaylistPanelContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/continuations.ts:129](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L129)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L128)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"playlistPanelContinuation"` = `'playlistPanelContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:126](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L126)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is PlaylistPanelContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
239
docs/api/classes/ReloadContinuationItemsCommand.md
Normal file
239
docs/api/classes/ReloadContinuationItemsCommand.md
Normal file
@@ -0,0 +1,239 @@
|
||||
[youtubei.js](../README.md) / ReloadContinuationItemsCommand
|
||||
|
||||
# Class: ReloadContinuationItemsCommand
|
||||
|
||||
Defined in: [src/parser/continuations.ts:50](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L50)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new ReloadContinuationItemsCommand**(`data`): `ReloadContinuationItemsCommand`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:57](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L57)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`ReloadContinuationItemsCommand`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:54](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### slot?
|
||||
|
||||
> `optional` **slot**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L55)
|
||||
|
||||
***
|
||||
|
||||
### target\_id
|
||||
|
||||
> **target\_id**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L53)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"reloadContinuationItemsCommand"` = `'reloadContinuationItemsCommand'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L51)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ReloadContinuationItemsCommand & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
231
docs/api/classes/SectionListContinuation.md
Normal file
231
docs/api/classes/SectionListContinuation.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / SectionListContinuation
|
||||
|
||||
# Class: SectionListContinuation
|
||||
|
||||
Defined in: [src/parser/continuations.ts:65](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L65)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new SectionListContinuation**(`data`): `SectionListContinuation`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:71](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L71)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`SectionListContinuation`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### contents
|
||||
|
||||
> **contents**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:69](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L69)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L68)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"sectionListContinuation"` = `'sectionListContinuation'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:66](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L66)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is SectionListContinuation & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
713
docs/api/classes/Session.md
Normal file
713
docs/api/classes/Session.md
Normal file
@@ -0,0 +1,713 @@
|
||||
[youtubei.js](../README.md) / Session
|
||||
|
||||
# Class: Session
|
||||
|
||||
Defined in: [src/core/Session.ts:251](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L251)
|
||||
|
||||
Represents an InnerTube session. This holds all the data needed to make requests to YouTube.
|
||||
|
||||
## Extends
|
||||
|
||||
- [`EventEmitter`](EventEmitter.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new Session**(`context`, `api_key`, `api_version`, `account_index`, `config_data?`, `player?`, `cookie?`, `fetch?`, `cache?`, `po_token?`): `Session`
|
||||
|
||||
Defined in: [src/core/Session.ts:258](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L258)
|
||||
|
||||
#### 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?
|
||||
|
||||
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
|
||||
|
||||
##### cache?
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
##### po\_token?
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Session`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`constructor`](EventEmitter.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### account\_index
|
||||
|
||||
> **account\_index**: `number`
|
||||
|
||||
Defined in: [src/core/Session.ts:262](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L262)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> **actions**: [`Actions`](Actions.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:255](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L255)
|
||||
|
||||
***
|
||||
|
||||
### api\_key
|
||||
|
||||
> **api\_key**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:260](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L260)
|
||||
|
||||
***
|
||||
|
||||
### api\_version
|
||||
|
||||
> **api\_version**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:261](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L261)
|
||||
|
||||
***
|
||||
|
||||
### cache?
|
||||
|
||||
> `optional` **cache**: [`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:267](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L267)
|
||||
|
||||
***
|
||||
|
||||
### config\_data?
|
||||
|
||||
> `optional` **config\_data**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:263](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L263)
|
||||
|
||||
***
|
||||
|
||||
### context
|
||||
|
||||
> **context**: [`Context`](../type-aliases/Context.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:259](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L259)
|
||||
|
||||
***
|
||||
|
||||
### cookie?
|
||||
|
||||
> `optional` **cookie**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:265](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L265)
|
||||
|
||||
***
|
||||
|
||||
### http
|
||||
|
||||
> **http**: [`HTTPClient`](HTTPClient.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:253](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L253)
|
||||
|
||||
***
|
||||
|
||||
### logged\_in
|
||||
|
||||
> **logged\_in**: `boolean`
|
||||
|
||||
Defined in: [src/core/Session.ts:254](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L254)
|
||||
|
||||
***
|
||||
|
||||
### oauth
|
||||
|
||||
> **oauth**: [`OAuth2`](OAuth2.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:252](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L252)
|
||||
|
||||
***
|
||||
|
||||
### player?
|
||||
|
||||
> `optional` **player**: [`Player`](Player.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:264](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L264)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:268](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L268)
|
||||
|
||||
***
|
||||
|
||||
### user\_agent?
|
||||
|
||||
> `optional` **user\_agent**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:256](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L256)
|
||||
|
||||
## Accessors
|
||||
|
||||
### client\_name
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **client\_name**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:688](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L688)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### client\_version
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **client\_version**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:684](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L684)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### lang
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **lang**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:692](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L692)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
## Methods
|
||||
|
||||
### addEventListener()
|
||||
|
||||
> **addEventListener**(`type`, `callback`, `options?`): `void`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8256
|
||||
|
||||
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
|
||||
|
||||
`EventListenerOrEventListenerObject` | `null`
|
||||
|
||||
##### options?
|
||||
|
||||
`boolean` | `AddEventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`addEventListener`](EventEmitter.md#addeventlistener)
|
||||
|
||||
***
|
||||
|
||||
### dispatchEvent()
|
||||
|
||||
> **dispatchEvent**(`event`): `boolean`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8262
|
||||
|
||||
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)
|
||||
|
||||
***
|
||||
|
||||
### emit()
|
||||
|
||||
> **emit**(`type`, ...`args`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L10)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### args
|
||||
|
||||
...`any`[]
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`emit`](EventEmitter.md#emit)
|
||||
|
||||
***
|
||||
|
||||
### off()
|
||||
|
||||
> **off**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/EventEmitterLike.ts#L40)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### type
|
||||
|
||||
`string`
|
||||
|
||||
##### listener
|
||||
|
||||
(...`args`) => `void`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`off`](EventEmitter.md#off)
|
||||
|
||||
***
|
||||
|
||||
### on()
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:278](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L278)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`on`](EventEmitter.md#on)
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:279](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L279)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth-pending"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:280](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L280)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth-error"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **on**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:281](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L281)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"update-credentials"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.on`
|
||||
|
||||
***
|
||||
|
||||
### once()
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:287](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L287)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`once`](EventEmitter.md#once)
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:288](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L288)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth-pending"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.once`
|
||||
|
||||
#### Call Signature
|
||||
|
||||
> **once**(`type`, `listener`): `void`
|
||||
|
||||
Defined in: [src/core/Session.ts:289](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L289)
|
||||
|
||||
##### Parameters
|
||||
|
||||
###### type
|
||||
|
||||
`"auth-error"`
|
||||
|
||||
###### listener
|
||||
|
||||
[`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
##### Overrides
|
||||
|
||||
`EventEmitter.once`
|
||||
|
||||
***
|
||||
|
||||
### removeEventListener()
|
||||
|
||||
> **removeEventListener**(`type`, `callback`, `options?`): `void`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:8268
|
||||
|
||||
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
|
||||
|
||||
`EventListenerOrEventListenerObject` | `null`
|
||||
|
||||
##### options?
|
||||
|
||||
`boolean` | `EventListenerOptions`
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`EventEmitter`](EventEmitter.md).[`removeEventListener`](EventEmitter.md#removeeventlistener)
|
||||
|
||||
***
|
||||
|
||||
### signIn()
|
||||
|
||||
> **signIn**(`credentials?`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/Session.ts:651](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L651)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### credentials?
|
||||
|
||||
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### signOut()
|
||||
|
||||
> **signOut**(): `Promise`\<`Response` \| `undefined`\>
|
||||
|
||||
Defined in: [src/core/Session.ts:674](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L674)
|
||||
|
||||
Signs out of the current account and revokes the credentials.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response` \| `undefined`\>
|
||||
|
||||
***
|
||||
|
||||
### create()
|
||||
|
||||
> `static` **create**(`options`): `Promise`\<`Session`\>
|
||||
|
||||
Defined in: [src/core/Session.ts:295](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L295)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### options
|
||||
|
||||
[`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Session`\>
|
||||
|
||||
***
|
||||
|
||||
### fromCache()
|
||||
|
||||
> `static` **fromCache**(`cache`, `session_args`): `Promise`\<[`SessionData`](../type-aliases/SessionData.md) \| `null`\>
|
||||
|
||||
Defined in: [src/core/Session.ts:327](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L327)
|
||||
|
||||
Retrieves session data from cache.
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### cache
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
A valid cache implementation.
|
||||
|
||||
##### session\_args
|
||||
|
||||
[`SessionArgs`](../type-aliases/SessionArgs.md)
|
||||
|
||||
User provided session arguments.
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`SessionData`](../type-aliases/SessionData.md) \| `null`\>
|
||||
|
||||
***
|
||||
|
||||
### 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`\<\{ `account_index`: `number`; `api_key`: `string`; `api_version`: `string`; `config_data?`: `string`; `context`: [`Context`](../type-aliases/Context.md); \}\>
|
||||
|
||||
Defined in: [src/core/Session.ts:376](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L376)
|
||||
|
||||
#### 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`](../youtubei.js/namespaces/Utils/type-aliases/DeviceCategory.md) = `'desktop'`
|
||||
|
||||
##### client\_name
|
||||
|
||||
[`ClientType`](../enumerations/ClientType.md) = `ClientType.WEB`
|
||||
|
||||
##### tz
|
||||
|
||||
`string` = `...`
|
||||
|
||||
##### fetch
|
||||
|
||||
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
|
||||
|
||||
##### on\_behalf\_of\_user?
|
||||
|
||||
`string`
|
||||
|
||||
##### cache?
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
##### enable\_session\_cache?
|
||||
|
||||
`boolean` = `true`
|
||||
|
||||
##### po\_token?
|
||||
|
||||
`string`
|
||||
|
||||
##### retrieve\_innertube\_config?
|
||||
|
||||
`boolean` = `true`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<\{ `account_index`: `number`; `api_key`: `string`; `api_version`: `string`; `config_data?`: `string`; `context`: [`Context`](../type-aliases/Context.md); \}\>
|
||||
231
docs/api/classes/ShowMiniplayerCommand.md
Normal file
231
docs/api/classes/ShowMiniplayerCommand.md
Normal file
@@ -0,0 +1,231 @@
|
||||
[youtubei.js](../README.md) / ShowMiniplayerCommand
|
||||
|
||||
# Class: ShowMiniplayerCommand
|
||||
|
||||
Defined in: [src/parser/continuations.ts:35](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L35)
|
||||
|
||||
## Extends
|
||||
|
||||
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new ShowMiniplayerCommand**(`data`): `ShowMiniplayerCommand`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L41)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### data
|
||||
|
||||
[`RawNode`](../type-aliases/RawNode.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`ShowMiniplayerCommand`
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
|
||||
|
||||
## Properties
|
||||
|
||||
### miniplayer\_command
|
||||
|
||||
> **miniplayer\_command**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
Defined in: [src/parser/continuations.ts:38](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L8)
|
||||
|
||||
#### Inherited from
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` `static` **type**: `"showMiniplayerCommand"` = `'showMiniplayerCommand'`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:36](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/continuations.ts#L36)
|
||||
|
||||
#### Overrides
|
||||
|
||||
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
|
||||
|
||||
## Methods
|
||||
|
||||
### as()
|
||||
|
||||
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
|
||||
|
||||
Defined in: [src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L29)
|
||||
|
||||
Cast to one of the given types.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
|
||||
|
||||
***
|
||||
|
||||
### hasKey()
|
||||
|
||||
> **hasKey**\<`T`, `R`\>(`key`): `this is ShowMiniplayerCommand & { [k in string]: R }`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L41)
|
||||
|
||||
Check for a key without asserting the type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
|
||||
|
||||
***
|
||||
|
||||
### is()
|
||||
|
||||
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L19)
|
||||
|
||||
Check if the node is of the given type.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
##### K
|
||||
|
||||
`K` *extends* [`YTNodeConstructor`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
|
||||
|
||||
***
|
||||
|
||||
### key()
|
||||
|
||||
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
|
||||
|
||||
Defined in: [src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/helpers.ts#L51)
|
||||
|
||||
Assert that the node has the given key and return it.
|
||||
|
||||
#### Type Parameters
|
||||
|
||||
##### T
|
||||
|
||||
`T` *extends* `string`
|
||||
|
||||
##### R
|
||||
|
||||
`R` = `any`
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`T`
|
||||
|
||||
The key to check
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Maybe`](../youtubei.js/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`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)
|
||||
119
docs/api/classes/UniversalCache.md
Normal file
119
docs/api/classes/UniversalCache.md
Normal file
@@ -0,0 +1,119 @@
|
||||
[youtubei.js](../README.md) / UniversalCache
|
||||
|
||||
# Class: UniversalCache
|
||||
|
||||
Defined in: [src/utils/Cache.ts:4](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L4)
|
||||
|
||||
## Implements
|
||||
|
||||
- [`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
## Constructors
|
||||
|
||||
### Constructor
|
||||
|
||||
> **new UniversalCache**(`persistent`, `persistent_directory?`): `UniversalCache`
|
||||
|
||||
Defined in: [src/utils/Cache.ts:6](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L6)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### persistent
|
||||
|
||||
`boolean`
|
||||
|
||||
##### persistent\_directory?
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`UniversalCache`
|
||||
|
||||
## Accessors
|
||||
|
||||
### cache\_dir
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **cache\_dir**(): `string`
|
||||
|
||||
Defined in: [src/utils/Cache.ts:9](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L9)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`cache_dir`](../youtubei.js/namespaces/Types/interfaces/ICache.md#cache_dir)
|
||||
|
||||
## Methods
|
||||
|
||||
### get()
|
||||
|
||||
> **get**(`key`): `Promise`\<`ArrayBuffer` \| `undefined`\>
|
||||
|
||||
Defined in: [src/utils/Cache.ts:12](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L12)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`ArrayBuffer` \| `undefined`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`get`](../youtubei.js/namespaces/Types/interfaces/ICache.md#get)
|
||||
|
||||
***
|
||||
|
||||
### remove()
|
||||
|
||||
> **remove**(`key`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/utils/Cache.ts:18](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L18)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`string`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`remove`](../youtubei.js/namespaces/Types/interfaces/ICache.md#remove)
|
||||
|
||||
***
|
||||
|
||||
### set()
|
||||
|
||||
> **set**(`key`, `value`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/utils/Cache.ts:15](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/Cache.ts#L15)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### key
|
||||
|
||||
`string`
|
||||
|
||||
##### value
|
||||
|
||||
`ArrayBuffer`
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
#### Implementation of
|
||||
|
||||
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`set`](../youtubei.js/namespaces/Types/interfaces/ICache.md#set)
|
||||
109
docs/api/enumerations/ClientType.md
Normal file
109
docs/api/enumerations/ClientType.md
Normal file
@@ -0,0 +1,109 @@
|
||||
[youtubei.js](../README.md) / ClientType
|
||||
|
||||
# Enumeration: ClientType
|
||||
|
||||
Defined in: [src/core/Session.ts:22](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L22)
|
||||
|
||||
## Enumeration Members
|
||||
|
||||
### ANDROID
|
||||
|
||||
> **ANDROID**: `"ANDROID"`
|
||||
|
||||
Defined in: [src/core/Session.ts:28](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### IOS
|
||||
|
||||
> **IOS**: `"iOS"`
|
||||
|
||||
Defined in: [src/core/Session.ts:27](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### KIDS
|
||||
|
||||
> **KIDS**: `"WEB_KIDS"`
|
||||
|
||||
Defined in: [src/core/Session.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
### MUSIC
|
||||
|
||||
> **MUSIC**: `"WEB_REMIX"`
|
||||
|
||||
Defined in: [src/core/Session.ts:26](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### MWEB
|
||||
|
||||
> **MWEB**: `"MWEB"`
|
||||
|
||||
Defined in: [src/core/Session.ts:24](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### TV
|
||||
|
||||
> **TV**: `"TVHTML5"`
|
||||
|
||||
Defined in: [src/core/Session.ts:31](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L32)
|
||||
|
||||
***
|
||||
|
||||
### WEB
|
||||
|
||||
> **WEB**: `"WEB"`
|
||||
|
||||
Defined in: [src/core/Session.ts:23](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L34)
|
||||
29
docs/api/interfaces/ApiResponse.md
Normal file
29
docs/api/interfaces/ApiResponse.md
Normal file
@@ -0,0 +1,29 @@
|
||||
[youtubei.js](../README.md) / ApiResponse
|
||||
|
||||
# Interface: ApiResponse
|
||||
|
||||
Defined in: [src/core/Actions.ts:18](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L18)
|
||||
|
||||
## Properties
|
||||
|
||||
### data
|
||||
|
||||
> **data**: [`IRawResponse`](IRawResponse.md)
|
||||
|
||||
Defined in: [src/core/Actions.ts:21](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L21)
|
||||
|
||||
***
|
||||
|
||||
### status\_code
|
||||
|
||||
> **status\_code**: `number`
|
||||
|
||||
Defined in: [src/core/Actions.ts:20](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L20)
|
||||
|
||||
***
|
||||
|
||||
### success
|
||||
|
||||
> **success**: `boolean`
|
||||
|
||||
Defined in: [src/core/Actions.ts:19](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:13](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L13)
|
||||
|
||||
## Properties
|
||||
|
||||
### baseURL?
|
||||
|
||||
> `optional` **baseURL**: `string`
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:14](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/utils/HTTPClient.ts#L14)
|
||||
45
docs/api/interfaces/IBotguardChallenge.md
Normal file
45
docs/api/interfaces/IBotguardChallenge.md
Normal file
@@ -0,0 +1,45 @@
|
||||
[youtubei.js](../README.md) / IBotguardChallenge
|
||||
|
||||
# Interface: IBotguardChallenge
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:91](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L91)
|
||||
|
||||
## 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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L92)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:94](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L94)
|
||||
35
docs/api/interfaces/IEndpoint.md
Normal file
35
docs/api/interfaces/IEndpoint.md
Normal file
@@ -0,0 +1,35 @@
|
||||
[youtubei.js](../README.md) / IEndpoint
|
||||
|
||||
# Interface: IEndpoint\<T\>
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:1](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L1)
|
||||
|
||||
## Type Parameters
|
||||
|
||||
### T
|
||||
|
||||
`T` = `any`
|
||||
|
||||
## Methods
|
||||
|
||||
### buildRequest()
|
||||
|
||||
> **buildRequest**(): `T`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:3](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L3)
|
||||
|
||||
#### Returns
|
||||
|
||||
`T`
|
||||
|
||||
***
|
||||
|
||||
### getApiPath()
|
||||
|
||||
> **getApiPath**(): `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:2](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L2)
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
421
docs/api/interfaces/IParsedResponse.md
Normal file
421
docs/api/interfaces/IParsedResponse.md
Normal file
@@ -0,0 +1,421 @@
|
||||
[youtubei.js](../README.md) / IParsedResponse
|
||||
|
||||
# Interface: IParsedResponse
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L25)
|
||||
|
||||
## Properties
|
||||
|
||||
### actions?
|
||||
|
||||
> `optional` **actions**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:29](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### actions\_memo?
|
||||
|
||||
> `optional` **actions\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:30](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L30)
|
||||
|
||||
***
|
||||
|
||||
### alerts?
|
||||
|
||||
> `optional` **alerts**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`Alert`](../youtubei.js/namespaces/YTNodes/classes/Alert.md) \| [`AlertWithButton`](../youtubei.js/namespaces/YTNodes/classes/AlertWithButton.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:53](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L53)
|
||||
|
||||
***
|
||||
|
||||
### annotations?
|
||||
|
||||
> `optional` **annotations**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`PlayerAnnotationsExpanded`](../youtubei.js/namespaces/YTNodes/classes/PlayerAnnotationsExpanded.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:65](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L65)
|
||||
|
||||
***
|
||||
|
||||
### background?
|
||||
|
||||
> `optional` **background**: [`MusicThumbnail`](../youtubei.js/namespaces/YTNodes/classes/MusicThumbnail.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:26](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### captions?
|
||||
|
||||
> `optional` **captions**: [`PlayerCaptionsTracklist`](../youtubei.js/namespaces/YTNodes/classes/PlayerCaptionsTracklist.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:63](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L63)
|
||||
|
||||
***
|
||||
|
||||
### cards?
|
||||
|
||||
> `optional` **cards**: [`CardCollection`](../youtubei.js/namespaces/YTNodes/classes/CardCollection.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:68](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### contents?
|
||||
|
||||
> `optional` **contents**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:31](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L31)
|
||||
|
||||
***
|
||||
|
||||
### contents\_memo?
|
||||
|
||||
> `optional` **contents\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:32](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L47)
|
||||
|
||||
***
|
||||
|
||||
### continuation\_contents\_memo?
|
||||
|
||||
> `optional` **continuation\_contents\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:49](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L49)
|
||||
|
||||
***
|
||||
|
||||
### continuation\_endpoint?
|
||||
|
||||
> `optional` **continuation\_endpoint**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:81](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L81)
|
||||
|
||||
***
|
||||
|
||||
### cpn\_info?
|
||||
|
||||
> `optional` **cpn\_info**: `object`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:69](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L69)
|
||||
|
||||
#### cpn?
|
||||
|
||||
> `optional` **cpn**: `string`
|
||||
|
||||
#### cpn\_source?
|
||||
|
||||
> `optional` **cpn\_source**: `"CPN_SOURCE_TYPE_UNKNOWN"` \| `"CPN_SOURCE_TYPE_CLIENT"` \| `"CPN_SOURCE_TYPE_WATCH_SERVER"`
|
||||
|
||||
***
|
||||
|
||||
### current\_video\_endpoint?
|
||||
|
||||
> `optional` **current\_video\_endpoint**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:61](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L61)
|
||||
|
||||
***
|
||||
|
||||
### endpoint?
|
||||
|
||||
> `optional` **endpoint**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:62](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L62)
|
||||
|
||||
***
|
||||
|
||||
### endscreen?
|
||||
|
||||
> `optional` **endscreen**: [`Endscreen`](../youtubei.js/namespaces/YTNodes/classes/Endscreen.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:67](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L67)
|
||||
|
||||
***
|
||||
|
||||
### engagement\_panels?
|
||||
|
||||
> `optional` **engagement\_panels**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`EngagementPanelSectionList`](../youtubei.js/namespaces/YTNodes/classes/EngagementPanelSectionList.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:76](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L76)
|
||||
|
||||
***
|
||||
|
||||
### entries?
|
||||
|
||||
> `optional` **entries**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)[]
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:78](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L78)
|
||||
|
||||
***
|
||||
|
||||
### entries\_memo?
|
||||
|
||||
> `optional` **entries\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:79](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L55)
|
||||
|
||||
***
|
||||
|
||||
### header?
|
||||
|
||||
> `optional` **header**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:33](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L33)
|
||||
|
||||
***
|
||||
|
||||
### header\_memo?
|
||||
|
||||
> `optional` **header\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:34](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L34)
|
||||
|
||||
***
|
||||
|
||||
### items?
|
||||
|
||||
> `optional` **items**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:77](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L77)
|
||||
|
||||
***
|
||||
|
||||
### items\_memo?
|
||||
|
||||
> `optional` **items\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:39](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### live\_chat\_item\_context\_menu\_supported\_renderers?
|
||||
|
||||
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:37](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L37)
|
||||
|
||||
***
|
||||
|
||||
### live\_chat\_item\_context\_menu\_supported\_renderers\_memo?
|
||||
|
||||
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:38](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L38)
|
||||
|
||||
***
|
||||
|
||||
### metadata?
|
||||
|
||||
> `optional` **metadata**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:50](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L50)
|
||||
|
||||
***
|
||||
|
||||
### microformat?
|
||||
|
||||
> `optional` **microformat**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L51)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_actions?
|
||||
|
||||
> `optional` **on\_response\_received\_actions**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`OpenPopupAction`](../youtubei.js/namespaces/YTNodes/classes/OpenPopupAction.md) \| [`AppendContinuationItemsAction`](../classes/AppendContinuationItemsAction.md) \| [`ReloadContinuationItemsCommand`](../classes/ReloadContinuationItemsCommand.md) \| [`NavigateAction`](../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../classes/ShowMiniplayerCommand.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_actions\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_actions\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_commands?
|
||||
|
||||
> `optional` **on\_response\_received\_commands**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`OpenPopupAction`](../youtubei.js/namespaces/YTNodes/classes/OpenPopupAction.md) \| [`AppendContinuationItemsAction`](../classes/AppendContinuationItemsAction.md) \| [`ReloadContinuationItemsCommand`](../classes/ReloadContinuationItemsCommand.md) \| [`NavigateAction`](../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../classes/ShowMiniplayerCommand.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:44](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L44)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_commands\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_commands\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:45](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L45)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_endpoints?
|
||||
|
||||
> `optional` **on\_response\_received\_endpoints**: [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`OpenPopupAction`](../youtubei.js/namespaces/YTNodes/classes/OpenPopupAction.md) \| [`AppendContinuationItemsAction`](../classes/AppendContinuationItemsAction.md) \| [`ReloadContinuationItemsCommand`](../classes/ReloadContinuationItemsCommand.md) \| [`NavigateAction`](../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../classes/ShowMiniplayerCommand.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:42](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L42)
|
||||
|
||||
***
|
||||
|
||||
### on\_response\_received\_endpoints\_memo?
|
||||
|
||||
> `optional` **on\_response\_received\_endpoints\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:43](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L43)
|
||||
|
||||
***
|
||||
|
||||
### overlay?
|
||||
|
||||
> `optional` **overlay**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:52](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L60)
|
||||
|
||||
***
|
||||
|
||||
### player\_overlays?
|
||||
|
||||
> `optional` **player\_overlays**: [`SuperParsedResult`](../youtubei.js/namespaces/Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:56](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### sidebar?
|
||||
|
||||
> `optional` **sidebar**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:35](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L35)
|
||||
|
||||
***
|
||||
|
||||
### sidebar\_memo?
|
||||
|
||||
> `optional` **sidebar\_memo**: [`Memo`](../youtubei.js/namespaces/Helpers/classes/Memo.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:36](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L36)
|
||||
|
||||
***
|
||||
|
||||
### storyboards?
|
||||
|
||||
> `optional` **storyboards**: [`PlayerStoryboardSpec`](../youtubei.js/namespaces/YTNodes/classes/PlayerStoryboardSpec.md) \| [`PlayerLiveStoryboardSpec`](../youtubei.js/namespaces/YTNodes/classes/PlayerLiveStoryboardSpec.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:66](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L80)
|
||||
|
||||
***
|
||||
|
||||
### video\_details?
|
||||
|
||||
> `optional` **video\_details**: [`VideoDetails`](../youtubei.js/namespaces/Misc/classes/VideoDetails.md)
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:64](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L83)
|
||||
45
docs/api/interfaces/IPlayabilityStatus.md
Normal file
45
docs/api/interfaces/IPlayabilityStatus.md
Normal file
@@ -0,0 +1,45 @@
|
||||
[youtubei.js](../README.md) / IPlayabilityStatus
|
||||
|
||||
# Interface: IPlayabilityStatus
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:103](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L103)
|
||||
|
||||
## Properties
|
||||
|
||||
### audio\_only\_playability
|
||||
|
||||
> **audio\_only\_playability**: [`AudioOnlyPlayability`](../youtubei.js/namespaces/YTNodes/classes/AudioOnlyPlayability.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:106](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L106)
|
||||
|
||||
***
|
||||
|
||||
### embeddable
|
||||
|
||||
> **embeddable**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:107](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L107)
|
||||
|
||||
***
|
||||
|
||||
### error\_screen
|
||||
|
||||
> **error\_screen**: [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md) \| `null`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:105](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L105)
|
||||
|
||||
***
|
||||
|
||||
### reason
|
||||
|
||||
> **reason**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:108](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L108)
|
||||
|
||||
***
|
||||
|
||||
### status
|
||||
|
||||
> **status**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:104](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L104)
|
||||
21
docs/api/interfaces/IPlaybackTracking.md
Normal file
21
docs/api/interfaces/IPlaybackTracking.md
Normal file
@@ -0,0 +1,21 @@
|
||||
[youtubei.js](../README.md) / IPlaybackTracking
|
||||
|
||||
# Interface: IPlaybackTracking
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:99](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L99)
|
||||
|
||||
## Properties
|
||||
|
||||
### videostats\_playback\_url
|
||||
|
||||
> **videostats\_playback\_url**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:101](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L100)
|
||||
69
docs/api/interfaces/IPlayerConfig.md
Normal file
69
docs/api/interfaces/IPlayerConfig.md
Normal file
@@ -0,0 +1,69 @@
|
||||
[youtubei.js](../README.md) / IPlayerConfig
|
||||
|
||||
# Interface: IPlayerConfig
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:111](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L111)
|
||||
|
||||
## Properties
|
||||
|
||||
### audio\_config
|
||||
|
||||
> **audio\_config**: `object`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:112](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L112)
|
||||
|
||||
#### enable\_per\_format\_loudness
|
||||
|
||||
> **enable\_per\_format\_loudness**: `boolean`
|
||||
|
||||
#### loudness\_db?
|
||||
|
||||
> `optional` **loudness\_db**: `number`
|
||||
|
||||
#### perceptual\_loudness\_db?
|
||||
|
||||
> `optional` **perceptual\_loudness\_db**: `number`
|
||||
|
||||
***
|
||||
|
||||
### media\_common\_config
|
||||
|
||||
> **media\_common\_config**: `object`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:120](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L120)
|
||||
|
||||
#### 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`
|
||||
|
||||
***
|
||||
|
||||
### stream\_selection\_config
|
||||
|
||||
> **stream\_selection\_config**: `object`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:117](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L117)
|
||||
|
||||
#### max\_bitrate
|
||||
|
||||
> **max\_bitrate**: `string`
|
||||
45
docs/api/interfaces/IRawBotguardChallenge.md
Normal file
45
docs/api/interfaces/IRawBotguardChallenge.md
Normal file
@@ -0,0 +1,45 @@
|
||||
[youtubei.js](../README.md) / IRawBotguardChallenge
|
||||
|
||||
# Interface: IRawBotguardChallenge
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1572](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1572)
|
||||
|
||||
## Properties
|
||||
|
||||
### clientExperimentsStateBlob
|
||||
|
||||
> **clientExperimentsStateBlob**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1577](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1577)
|
||||
|
||||
***
|
||||
|
||||
### globalName
|
||||
|
||||
> **globalName**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1576](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1576)
|
||||
|
||||
***
|
||||
|
||||
### interpreterHash
|
||||
|
||||
> **interpreterHash**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1574](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1573)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1575](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1575)
|
||||
69
docs/api/interfaces/IRawPlayerConfig.md
Normal file
69
docs/api/interfaces/IRawPlayerConfig.md
Normal file
@@ -0,0 +1,69 @@
|
||||
[youtubei.js](../README.md) / IRawPlayerConfig
|
||||
|
||||
# Interface: IRawPlayerConfig
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1546](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1546)
|
||||
|
||||
## Properties
|
||||
|
||||
### audioConfig
|
||||
|
||||
> **audioConfig**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1547](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1547)
|
||||
|
||||
#### enablePerFormatLoudness
|
||||
|
||||
> **enablePerFormatLoudness**: `boolean`
|
||||
|
||||
#### loudnessDb?
|
||||
|
||||
> `optional` **loudnessDb**: `number`
|
||||
|
||||
#### perceptualLoudnessDb?
|
||||
|
||||
> `optional` **perceptualLoudnessDb**: `number`
|
||||
|
||||
***
|
||||
|
||||
### mediaCommonConfig
|
||||
|
||||
> **mediaCommonConfig**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1555](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1555)
|
||||
|
||||
#### dynamicReadaheadConfig?
|
||||
|
||||
> `optional` **dynamicReadaheadConfig**: `object`
|
||||
|
||||
##### dynamicReadaheadConfig.maxReadAheadMediaTimeMs
|
||||
|
||||
> **maxReadAheadMediaTimeMs**: `number`
|
||||
|
||||
##### dynamicReadaheadConfig.minReadAheadMediaTimeMs
|
||||
|
||||
> **minReadAheadMediaTimeMs**: `number`
|
||||
|
||||
##### dynamicReadaheadConfig.readAheadGrowthRateMs
|
||||
|
||||
> **readAheadGrowthRateMs**: `number`
|
||||
|
||||
#### mediaUstreamerRequestConfig?
|
||||
|
||||
> `optional` **mediaUstreamerRequestConfig**: `object`
|
||||
|
||||
##### mediaUstreamerRequestConfig.videoPlaybackUstreamerConfig
|
||||
|
||||
> **videoPlaybackUstreamerConfig**: `string`
|
||||
|
||||
***
|
||||
|
||||
### streamSelectionConfig
|
||||
|
||||
> **streamSelectionConfig**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1552](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1552)
|
||||
|
||||
#### maxBitrate
|
||||
|
||||
> **maxBitrate**: `string`
|
||||
413
docs/api/interfaces/IRawResponse.md
Normal file
413
docs/api/interfaces/IRawResponse.md
Normal file
@@ -0,0 +1,413 @@
|
||||
[youtubei.js](../README.md) / IRawResponse
|
||||
|
||||
# Interface: IRawResponse
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1580](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1580)
|
||||
|
||||
## 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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1597)
|
||||
|
||||
***
|
||||
|
||||
### playabilityStatus?
|
||||
|
||||
> `optional` **playabilityStatus**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1610](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1610)
|
||||
|
||||
#### 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`
|
||||
|
||||
***
|
||||
|
||||
### playbackTracking?
|
||||
|
||||
> `optional` **playbackTracking**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1602](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1602)
|
||||
|
||||
#### videostatsPlaybackUrl
|
||||
|
||||
> **videostatsPlaybackUrl**: `object`
|
||||
|
||||
##### videostatsPlaybackUrl.baseUrl
|
||||
|
||||
> **baseUrl**: `string`
|
||||
|
||||
#### videostatsWatchtimeUrl
|
||||
|
||||
> **videostatsWatchtimeUrl**: `object`
|
||||
|
||||
##### videostatsWatchtimeUrl.baseUrl
|
||||
|
||||
> **baseUrl**: `string`
|
||||
|
||||
***
|
||||
|
||||
### playerConfig?
|
||||
|
||||
> `optional` **playerConfig**: [`IRawPlayerConfig`](IRawPlayerConfig.md)
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1625](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1601)
|
||||
|
||||
***
|
||||
|
||||
### playerResponse?
|
||||
|
||||
> `optional` **playerResponse**: `IRawResponse`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1626](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1635)
|
||||
|
||||
***
|
||||
|
||||
### streamingData?
|
||||
|
||||
> `optional` **streamingData**: `object`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1617](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1617)
|
||||
|
||||
#### 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`
|
||||
|
||||
***
|
||||
|
||||
### targetId?
|
||||
|
||||
> `optional` **targetId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1639](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1633)
|
||||
|
||||
***
|
||||
|
||||
### watchNextResponse?
|
||||
|
||||
> `optional` **watchNextResponse**: `IRawResponse`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1627](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1627)
|
||||
21
docs/api/interfaces/IRawTrustedResource.md
Normal file
21
docs/api/interfaces/IRawTrustedResource.md
Normal file
@@ -0,0 +1,21 @@
|
||||
[youtubei.js](../README.md) / IRawTrustedResource
|
||||
|
||||
# Interface: IRawTrustedResource
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1567](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1567)
|
||||
|
||||
## Properties
|
||||
|
||||
### privateDoNotAccessOrElseSafeScriptWrappedValue?
|
||||
|
||||
> `optional` **privateDoNotAccessOrElseSafeScriptWrappedValue**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1569](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/RawResponse.ts#L1568)
|
||||
53
docs/api/interfaces/IStreamingData.md
Normal file
53
docs/api/interfaces/IStreamingData.md
Normal file
@@ -0,0 +1,53 @@
|
||||
[youtubei.js](../README.md) / IStreamingData
|
||||
|
||||
# Interface: IStreamingData
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:132](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L132)
|
||||
|
||||
## Properties
|
||||
|
||||
### adaptive\_formats
|
||||
|
||||
> **adaptive\_formats**: [`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)[]
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:135](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L136)
|
||||
|
||||
***
|
||||
|
||||
### expires
|
||||
|
||||
> **expires**: `Date`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:133](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L133)
|
||||
|
||||
***
|
||||
|
||||
### formats
|
||||
|
||||
> **formats**: [`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)[]
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:134](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L138)
|
||||
21
docs/api/interfaces/ITrustedResource.md
Normal file
21
docs/api/interfaces/ITrustedResource.md
Normal file
@@ -0,0 +1,21 @@
|
||||
[youtubei.js](../README.md) / ITrustedResource
|
||||
|
||||
# Interface: ITrustedResource
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:86](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L86)
|
||||
|
||||
## 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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L87)
|
||||
39
docs/api/type-aliases/AddToPlaylistServiceRequest.md
Normal file
39
docs/api/type-aliases/AddToPlaylistServiceRequest.md
Normal file
@@ -0,0 +1,39 @@
|
||||
[youtubei.js](../README.md) / AddToPlaylistServiceRequest
|
||||
|
||||
# Type Alias: AddToPlaylistServiceRequest
|
||||
|
||||
> **AddToPlaylistServiceRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:55](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L55)
|
||||
|
||||
## Properties
|
||||
|
||||
### excludeWatchLater?
|
||||
|
||||
> `optional` **excludeWatchLater**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:59](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L59)
|
||||
|
||||
***
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:58](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L58)
|
||||
|
||||
***
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:57](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L57)
|
||||
|
||||
***
|
||||
|
||||
### videoIds?
|
||||
|
||||
> `optional` **videoIds**: `string`[]
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:56](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L56)
|
||||
63
docs/api/type-aliases/BrowseRequest.md
Normal file
63
docs/api/type-aliases/BrowseRequest.md
Normal file
@@ -0,0 +1,63 @@
|
||||
[youtubei.js](../README.md) / BrowseRequest
|
||||
|
||||
# Type Alias: BrowseRequest
|
||||
|
||||
> **BrowseRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:6](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L6)
|
||||
|
||||
## Properties
|
||||
|
||||
### browseId?
|
||||
|
||||
> `optional` **browseId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:7](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L7)
|
||||
|
||||
***
|
||||
|
||||
### browseRequestSupportedMetadata?
|
||||
|
||||
> `optional` **browseRequestSupportedMetadata**: [`BrowseRequestSupportedMetadata`](BrowseRequestSupportedMetadata.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:12](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L12)
|
||||
|
||||
***
|
||||
|
||||
### formData?
|
||||
|
||||
> `optional` **formData**: [`FormData`](FormData.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:10](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L10)
|
||||
|
||||
***
|
||||
|
||||
### inlineSettingStatus?
|
||||
|
||||
> `optional` **inlineSettingStatus**: [`InlineSettingStatus`](InlineSettingStatus.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:13](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L13)
|
||||
|
||||
***
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:8](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
### query?
|
||||
|
||||
> `optional` **query**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:9](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L9)
|
||||
|
||||
***
|
||||
|
||||
### subscriptionSettingsState?
|
||||
|
||||
> `optional` **subscriptionSettingsState**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:11](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L11)
|
||||
23
docs/api/type-aliases/BrowseRequestSupportedMetadata.md
Normal file
23
docs/api/type-aliases/BrowseRequestSupportedMetadata.md
Normal file
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../README.md) / BrowseRequestSupportedMetadata
|
||||
|
||||
# Type Alias: BrowseRequestSupportedMetadata
|
||||
|
||||
> **BrowseRequestSupportedMetadata** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L25)
|
||||
|
||||
## Properties
|
||||
|
||||
### downloadsBrowseParams
|
||||
|
||||
> **downloadsBrowseParams**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:26](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L26)
|
||||
|
||||
#### offlineFeatureSettingState
|
||||
|
||||
> **offlineFeatureSettingState**: `object`
|
||||
|
||||
##### offlineFeatureSettingState.isSdEnabled
|
||||
|
||||
> **isSdEnabled**: `boolean`
|
||||
239
docs/api/type-aliases/Context.md
Normal file
239
docs/api/type-aliases/Context.md
Normal file
@@ -0,0 +1,239 @@
|
||||
[youtubei.js](../README.md) / Context
|
||||
|
||||
# Type Alias: Context
|
||||
|
||||
> **Context** = `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:38](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L38)
|
||||
|
||||
## Properties
|
||||
|
||||
### client
|
||||
|
||||
> **client**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:39](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L39)
|
||||
|
||||
#### androidSdkVersion?
|
||||
|
||||
> `optional` **androidSdkVersion**: `number`
|
||||
|
||||
#### browserName?
|
||||
|
||||
> `optional` **browserName**: `string`
|
||||
|
||||
#### browserVersion?
|
||||
|
||||
> `optional` **browserVersion**: `string`
|
||||
|
||||
#### clientFormFactor
|
||||
|
||||
> **clientFormFactor**: `string`
|
||||
|
||||
#### clientName
|
||||
|
||||
> **clientName**: `string`
|
||||
|
||||
#### clientScreen?
|
||||
|
||||
> `optional` **clientScreen**: `string`
|
||||
|
||||
#### clientVersion
|
||||
|
||||
> **clientVersion**: `string`
|
||||
|
||||
#### configInfo?
|
||||
|
||||
> `optional` **configInfo**: `object`
|
||||
|
||||
##### configInfo.appInstallData?
|
||||
|
||||
> `optional` **appInstallData**: `string`
|
||||
|
||||
##### configInfo.coldConfigData?
|
||||
|
||||
> `optional` **coldConfigData**: `string`
|
||||
|
||||
##### configInfo.coldHashData?
|
||||
|
||||
> `optional` **coldHashData**: `string`
|
||||
|
||||
##### configInfo.hotHashData?
|
||||
|
||||
> `optional` **hotHashData**: `string`
|
||||
|
||||
#### deviceExperimentId?
|
||||
|
||||
> `optional` **deviceExperimentId**: `string`
|
||||
|
||||
#### deviceMake
|
||||
|
||||
> **deviceMake**: `string`
|
||||
|
||||
#### deviceModel
|
||||
|
||||
> **deviceModel**: `string`
|
||||
|
||||
#### gl
|
||||
|
||||
> **gl**: `string`
|
||||
|
||||
#### hl
|
||||
|
||||
> **hl**: `string`
|
||||
|
||||
#### kidsAppInfo?
|
||||
|
||||
> `optional` **kidsAppInfo**: `object`
|
||||
|
||||
##### kidsAppInfo.categorySettings
|
||||
|
||||
> **categorySettings**: `object`
|
||||
|
||||
##### kidsAppInfo.categorySettings.enabledCategories
|
||||
|
||||
> **enabledCategories**: `string`[]
|
||||
|
||||
##### kidsAppInfo.contentSettings
|
||||
|
||||
> **contentSettings**: `object`
|
||||
|
||||
##### kidsAppInfo.contentSettings.corpusPreference
|
||||
|
||||
> **corpusPreference**: `string`
|
||||
|
||||
##### kidsAppInfo.contentSettings.kidsNoSearchMode
|
||||
|
||||
> **kidsNoSearchMode**: `string`
|
||||
|
||||
#### mainAppWebInfo?
|
||||
|
||||
> `optional` **mainAppWebInfo**: `object`
|
||||
|
||||
##### mainAppWebInfo.graftUrl
|
||||
|
||||
> **graftUrl**: `string`
|
||||
|
||||
##### mainAppWebInfo.isWebNativeShareAvailable
|
||||
|
||||
> **isWebNativeShareAvailable**: `boolean`
|
||||
|
||||
##### mainAppWebInfo.pwaInstallabilityStatus
|
||||
|
||||
> **pwaInstallabilityStatus**: `string`
|
||||
|
||||
##### mainAppWebInfo.webDisplayMode
|
||||
|
||||
> **webDisplayMode**: `string`
|
||||
|
||||
#### memoryTotalKbytes?
|
||||
|
||||
> `optional` **memoryTotalKbytes**: `string`
|
||||
|
||||
#### originalUrl?
|
||||
|
||||
> `optional` **originalUrl**: `string`
|
||||
|
||||
#### osName
|
||||
|
||||
> **osName**: `string`
|
||||
|
||||
#### osVersion
|
||||
|
||||
> **osVersion**: `string`
|
||||
|
||||
#### platform
|
||||
|
||||
> **platform**: `string`
|
||||
|
||||
#### remoteHost?
|
||||
|
||||
> `optional` **remoteHost**: `string`
|
||||
|
||||
#### rolloutToken?
|
||||
|
||||
> `optional` **rolloutToken**: `string`
|
||||
|
||||
#### screenDensityFloat?
|
||||
|
||||
> `optional` **screenDensityFloat**: `number`
|
||||
|
||||
#### screenHeightPoints?
|
||||
|
||||
> `optional` **screenHeightPoints**: `number`
|
||||
|
||||
#### screenPixelDensity?
|
||||
|
||||
> `optional` **screenPixelDensity**: `number`
|
||||
|
||||
#### screenWidthPoints?
|
||||
|
||||
> `optional` **screenWidthPoints**: `number`
|
||||
|
||||
#### timeZone
|
||||
|
||||
> **timeZone**: `string`
|
||||
|
||||
#### userAgent
|
||||
|
||||
> **userAgent**: `string`
|
||||
|
||||
#### userInterfaceTheme?
|
||||
|
||||
> `optional` **userInterfaceTheme**: `string`
|
||||
|
||||
#### utcOffsetMinutes
|
||||
|
||||
> **utcOffsetMinutes**: `number`
|
||||
|
||||
#### visitorData?
|
||||
|
||||
> `optional` **visitorData**: `string`
|
||||
|
||||
***
|
||||
|
||||
### request?
|
||||
|
||||
> `optional` **request**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:98](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L98)
|
||||
|
||||
#### internalExperimentFlags
|
||||
|
||||
> **internalExperimentFlags**: `any`[]
|
||||
|
||||
#### useSsl
|
||||
|
||||
> **useSsl**: `boolean`
|
||||
|
||||
***
|
||||
|
||||
### thirdParty?
|
||||
|
||||
> `optional` **thirdParty**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:95](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L95)
|
||||
|
||||
#### embedUrl
|
||||
|
||||
> **embedUrl**: `string`
|
||||
|
||||
***
|
||||
|
||||
### user
|
||||
|
||||
> **user**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:90](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Session.ts#L90)
|
||||
|
||||
#### enableSafetyMode
|
||||
|
||||
> **enableSafetyMode**: `boolean`
|
||||
|
||||
#### lockedSafetyMode
|
||||
|
||||
> **lockedSafetyMode**: `boolean`
|
||||
|
||||
#### onBehalfOfUser?
|
||||
|
||||
> `optional` **onBehalfOfUser**: `string`
|
||||
43
docs/api/type-aliases/ContinuationRequest.md
Normal file
43
docs/api/type-aliases/ContinuationRequest.md
Normal file
@@ -0,0 +1,43 @@
|
||||
[youtubei.js](../README.md) / ContinuationRequest
|
||||
|
||||
# Type Alias: ContinuationRequest
|
||||
|
||||
> **ContinuationRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:143](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L143)
|
||||
|
||||
## Properties
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:145](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L145)
|
||||
|
||||
***
|
||||
|
||||
### fetchCommentsParams?
|
||||
|
||||
> `optional` **fetchCommentsParams**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:147](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L147)
|
||||
|
||||
#### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
***
|
||||
|
||||
### formData?
|
||||
|
||||
> `optional` **formData**: [`FormData`](FormData.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:144](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L144)
|
||||
|
||||
***
|
||||
|
||||
### notificationsMenuRequestType?
|
||||
|
||||
> `optional` **notificationsMenuRequestType**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:146](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L146)
|
||||
91
docs/api/type-aliases/CreateCommentRequest.md
Normal file
91
docs/api/type-aliases/CreateCommentRequest.md
Normal file
@@ -0,0 +1,91 @@
|
||||
[youtubei.js](../README.md) / CreateCommentRequest
|
||||
|
||||
# Type Alias: CreateCommentRequest
|
||||
|
||||
> **CreateCommentRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:179](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L179)
|
||||
|
||||
## Properties
|
||||
|
||||
### accessRestrictions?
|
||||
|
||||
> `optional` **accessRestrictions**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:186](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L186)
|
||||
|
||||
#### restriction
|
||||
|
||||
> **restriction**: `"RESTRICTION_TYPE_EVERYONE"` \| `"RESTRICTION_TYPE_SPONSORS_ONLY"`
|
||||
|
||||
***
|
||||
|
||||
### botguardResponse?
|
||||
|
||||
> `optional` **botguardResponse**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:187](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L187)
|
||||
|
||||
***
|
||||
|
||||
### commentText?
|
||||
|
||||
> `optional` **commentText**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:181](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L181)
|
||||
|
||||
***
|
||||
|
||||
### createCommentParams?
|
||||
|
||||
> `optional` **createCommentParams**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:180](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L180)
|
||||
|
||||
***
|
||||
|
||||
### imageAttachment?
|
||||
|
||||
> `optional` **imageAttachment**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:184](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L184)
|
||||
|
||||
#### encryptedBlobId
|
||||
|
||||
> **encryptedBlobId**: `string`
|
||||
|
||||
***
|
||||
|
||||
### pollAttachment?
|
||||
|
||||
> `optional` **pollAttachment**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:183](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L183)
|
||||
|
||||
#### choices
|
||||
|
||||
> **choices**: `string`[]
|
||||
|
||||
***
|
||||
|
||||
### sharedPostAttachment?
|
||||
|
||||
> `optional` **sharedPostAttachment**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:185](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L185)
|
||||
|
||||
#### postId
|
||||
|
||||
> **postId**: `string`
|
||||
|
||||
***
|
||||
|
||||
### videoAttachment?
|
||||
|
||||
> `optional` **videoAttachment**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:182](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L182)
|
||||
|
||||
#### videoId
|
||||
|
||||
> **videoId**: `string`
|
||||
55
docs/api/type-aliases/CreatePlaylistServiceRequest.md
Normal file
55
docs/api/type-aliases/CreatePlaylistServiceRequest.md
Normal file
@@ -0,0 +1,55 @@
|
||||
[youtubei.js](../README.md) / CreatePlaylistServiceRequest
|
||||
|
||||
# Type Alias: CreatePlaylistServiceRequest
|
||||
|
||||
> **CreatePlaylistServiceRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:104](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L104)
|
||||
|
||||
## Properties
|
||||
|
||||
### description?
|
||||
|
||||
> `optional` **description**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:107](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L107)
|
||||
|
||||
***
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:109](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L109)
|
||||
|
||||
***
|
||||
|
||||
### privacyStatus?
|
||||
|
||||
> `optional` **privacyStatus**: [`PlaylistPrivacyStatus`](PlaylistPrivacyStatus.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:106](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L106)
|
||||
|
||||
***
|
||||
|
||||
### sourcePlaylistId?
|
||||
|
||||
> `optional` **sourcePlaylistId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:110](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L110)
|
||||
|
||||
***
|
||||
|
||||
### title?
|
||||
|
||||
> `optional` **title**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:105](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L105)
|
||||
|
||||
***
|
||||
|
||||
### videoIds?
|
||||
|
||||
> `optional` **videoIds**: `string`[]
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:108](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L108)
|
||||
15
docs/api/type-aliases/DeletePlaylistServiceRequest.md
Normal file
15
docs/api/type-aliases/DeletePlaylistServiceRequest.md
Normal file
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../README.md) / DeletePlaylistServiceRequest
|
||||
|
||||
# Type Alias: DeletePlaylistServiceRequest
|
||||
|
||||
> **DeletePlaylistServiceRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:113](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L113)
|
||||
|
||||
## Properties
|
||||
|
||||
### playlistId?
|
||||
|
||||
> `optional` **playlistId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:114](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L114)
|
||||
55
docs/api/type-aliases/DeviceAndUserCode.md
Normal file
55
docs/api/type-aliases/DeviceAndUserCode.md
Normal file
@@ -0,0 +1,55 @@
|
||||
[youtubei.js](../README.md) / DeviceAndUserCode
|
||||
|
||||
# Type Alias: DeviceAndUserCode
|
||||
|
||||
> **DeviceAndUserCode** = `object`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:22](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L22)
|
||||
|
||||
## Properties
|
||||
|
||||
### device\_code
|
||||
|
||||
> **device\_code**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:23](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L23)
|
||||
|
||||
***
|
||||
|
||||
### error\_code?
|
||||
|
||||
> `optional` **error\_code**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:28](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### expires\_in
|
||||
|
||||
> **expires\_in**: `number`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:24](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### interval
|
||||
|
||||
> **interval**: `number`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:25](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
### user\_code
|
||||
|
||||
> **user\_code**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:26](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### verification\_url
|
||||
|
||||
> **verification\_url**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:27](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/OAuth2.ts#L27)
|
||||
15
docs/api/type-aliases/FeedbackContext.md
Normal file
15
docs/api/type-aliases/FeedbackContext.md
Normal file
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../README.md) / FeedbackContext
|
||||
|
||||
# Type Alias: FeedbackContext
|
||||
|
||||
> **FeedbackContext** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:35](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L35)
|
||||
|
||||
## Properties
|
||||
|
||||
### cpn
|
||||
|
||||
> **cpn**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:36](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L36)
|
||||
39
docs/api/type-aliases/FeedbackRequest.md
Normal file
39
docs/api/type-aliases/FeedbackRequest.md
Normal file
@@ -0,0 +1,39 @@
|
||||
[youtubei.js](../README.md) / FeedbackRequest
|
||||
|
||||
# Type Alias: FeedbackRequest
|
||||
|
||||
> **FeedbackRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:39](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L39)
|
||||
|
||||
## Properties
|
||||
|
||||
### feedbackContext?
|
||||
|
||||
> `optional` **feedbackContext**: [`FeedbackContext`](FeedbackContext.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:41](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### feedbackTokens?
|
||||
|
||||
> `optional` **feedbackTokens**: `string`[]
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:40](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L40)
|
||||
|
||||
***
|
||||
|
||||
### isFeedbackTokenUnencrypted?
|
||||
|
||||
> `optional` **isFeedbackTokenUnencrypted**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:42](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L42)
|
||||
|
||||
***
|
||||
|
||||
### shouldMerge?
|
||||
|
||||
> `optional` **shouldMerge**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:43](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L43)
|
||||
31
docs/api/type-aliases/FormData.md
Normal file
31
docs/api/type-aliases/FormData.md
Normal file
@@ -0,0 +1,31 @@
|
||||
[youtubei.js](../README.md) / FormData
|
||||
|
||||
# Type Alias: FormData
|
||||
|
||||
> **FormData** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:16](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L16)
|
||||
|
||||
## Properties
|
||||
|
||||
### accountSettingsFormData
|
||||
|
||||
> **accountSettingsFormData**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:17](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L17)
|
||||
|
||||
#### flagAudioDescriptionDefaultOn
|
||||
|
||||
> **flagAudioDescriptionDefaultOn**: `boolean`
|
||||
|
||||
#### flagAutoCaptionsDefaultOn
|
||||
|
||||
> **flagAutoCaptionsDefaultOn**: `boolean`
|
||||
|
||||
#### flagCaptionsDefaultOff
|
||||
|
||||
> **flagCaptionsDefaultOff**: `boolean`
|
||||
|
||||
#### flagDisableInlinePreview
|
||||
|
||||
> **flagDisableInlinePreview**: `boolean`
|
||||
71
docs/api/type-aliases/GetAccountsListInnertubeRequest.md
Normal file
71
docs/api/type-aliases/GetAccountsListInnertubeRequest.md
Normal file
@@ -0,0 +1,71 @@
|
||||
[youtubei.js](../README.md) / GetAccountsListInnertubeRequest
|
||||
|
||||
# Type Alias: GetAccountsListInnertubeRequest
|
||||
|
||||
> **GetAccountsListInnertubeRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:162](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L162)
|
||||
|
||||
## Properties
|
||||
|
||||
### callCircumstance?
|
||||
|
||||
> `optional` **callCircumstance**: `"SUPPLEMENTAL_USER"` \| `"SWITCHING_USERS_FULL"`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:168](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L168)
|
||||
|
||||
***
|
||||
|
||||
### channelSwitcherQuery?
|
||||
|
||||
> `optional` **channelSwitcherQuery**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:165](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L165)
|
||||
|
||||
***
|
||||
|
||||
### contentOwnerConfig?
|
||||
|
||||
> `optional` **contentOwnerConfig**: `Record`\<`string`, `any`\>
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:167](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L167)
|
||||
|
||||
***
|
||||
|
||||
### nextNavendpoint?
|
||||
|
||||
> `optional` **nextNavendpoint**: [`NextNavendpoint`](NextNavendpoint.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:164](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L164)
|
||||
|
||||
***
|
||||
|
||||
### obfuscatedSelectedGaiaId?
|
||||
|
||||
> `optional` **obfuscatedSelectedGaiaId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:169](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L169)
|
||||
|
||||
***
|
||||
|
||||
### requestType?
|
||||
|
||||
> `optional` **requestType**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:163](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L163)
|
||||
|
||||
***
|
||||
|
||||
### selectedSerializedDelegationContext?
|
||||
|
||||
> `optional` **selectedSerializedDelegationContext**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:170](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L170)
|
||||
|
||||
***
|
||||
|
||||
### triggerChannelCreation?
|
||||
|
||||
> `optional` **triggerChannelCreation**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:166](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L166)
|
||||
19
docs/api/type-aliases/GetKidsBlocklistPickerRequest.md
Normal file
19
docs/api/type-aliases/GetKidsBlocklistPickerRequest.md
Normal file
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../README.md) / GetKidsBlocklistPickerRequest
|
||||
|
||||
# Type Alias: GetKidsBlocklistPickerRequest
|
||||
|
||||
> **GetKidsBlocklistPickerRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:173](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L173)
|
||||
|
||||
## Properties
|
||||
|
||||
### blockedForKidsContent?
|
||||
|
||||
> `optional` **blockedForKidsContent**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:174](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L174)
|
||||
|
||||
#### external\_channel\_id
|
||||
|
||||
> **external\_channel\_id**: `string`
|
||||
7
docs/api/type-aliases/IBrowseResponse.md
Normal file
7
docs/api/type-aliases/IBrowseResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L143)
|
||||
7
docs/api/type-aliases/IGetChallengeResponse.md
Normal file
7
docs/api/type-aliases/IGetChallengeResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L150)
|
||||
7
docs/api/type-aliases/IGetNotificationsMenuResponse.md
Normal file
7
docs/api/type-aliases/IGetNotificationsMenuResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L147)
|
||||
7
docs/api/type-aliases/IGetTranscriptResponse.md
Normal file
7
docs/api/type-aliases/IGetTranscriptResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L146)
|
||||
7
docs/api/type-aliases/IGuideResponse.md
Normal file
7
docs/api/type-aliases/IGuideResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L149)
|
||||
7
docs/api/type-aliases/INextResponse.md
Normal file
7
docs/api/type-aliases/INextResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L142)
|
||||
7
docs/api/type-aliases/IPlayerResponse.md
Normal file
7
docs/api/type-aliases/IPlayerResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L141)
|
||||
7
docs/api/type-aliases/IResolveURLResponse.md
Normal file
7
docs/api/type-aliases/IResolveURLResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L145)
|
||||
7
docs/api/type-aliases/ISearchResponse.md
Normal file
7
docs/api/type-aliases/ISearchResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L144)
|
||||
7
docs/api/type-aliases/IUpdatedMetadataResponse.md
Normal file
7
docs/api/type-aliases/IUpdatedMetadataResponse.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/ParsedResponse.ts#L148)
|
||||
7
docs/api/type-aliases/InlineSettingStatus.md
Normal file
7
docs/api/type-aliases/InlineSettingStatus.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../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/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L33)
|
||||
7
docs/api/type-aliases/InnertubeEndpoint.md
Normal file
7
docs/api/type-aliases/InnertubeEndpoint.md
Normal file
@@ -0,0 +1,7 @@
|
||||
[youtubei.js](../README.md) / InnertubeEndpoint
|
||||
|
||||
# Type Alias: InnertubeEndpoint
|
||||
|
||||
> **InnertubeEndpoint** = `"/player"` \| `"/search"` \| `"/browse"` \| `"/next"` \| `"/reel"` \| `"/updated_metadata"` \| `"/notification/get_notification_menu"` \| `"/att/get"` \| `string`
|
||||
|
||||
Defined in: [src/core/Actions.ts:24](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/core/Actions.ts#L24)
|
||||
23
docs/api/type-aliases/LikeRequest.md
Normal file
23
docs/api/type-aliases/LikeRequest.md
Normal file
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../README.md) / LikeRequest
|
||||
|
||||
# Type Alias: LikeRequest
|
||||
|
||||
> **LikeRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:50](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L50)
|
||||
|
||||
## Properties
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:52](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L52)
|
||||
|
||||
***
|
||||
|
||||
### target?
|
||||
|
||||
> `optional` **target**: [`LikeTarget`](LikeTarget.md)
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:51](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L51)
|
||||
15
docs/api/type-aliases/LikeTarget.md
Normal file
15
docs/api/type-aliases/LikeTarget.md
Normal file
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../README.md) / LikeTarget
|
||||
|
||||
# Type Alias: LikeTarget
|
||||
|
||||
> **LikeTarget** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:46](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L46)
|
||||
|
||||
## Properties
|
||||
|
||||
### videoId
|
||||
|
||||
> **videoId**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:47](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L47)
|
||||
15
docs/api/type-aliases/LiveChatItemContextMenuRequest.md
Normal file
15
docs/api/type-aliases/LiveChatItemContextMenuRequest.md
Normal file
@@ -0,0 +1,15 @@
|
||||
[youtubei.js](../README.md) / LiveChatItemContextMenuRequest
|
||||
|
||||
# Type Alias: LiveChatItemContextMenuRequest
|
||||
|
||||
> **LiveChatItemContextMenuRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:152](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L152)
|
||||
|
||||
## Properties
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:153](https://github.com/LuanRT/YouTube.js/blob/0733f60b57877f6b8b87dfd5cc6195b5085f5c09/src/parser/types/CommandEndpoints.ts#L153)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user