mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-13 09:32:12 +00:00
Compare commits
600 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47b1df7529 | ||
|
|
86f28b3c17 | ||
|
|
d9a35c70c0 | ||
|
|
0a82c8bd99 | ||
|
|
4791deed28 | ||
|
|
b8545f538d | ||
|
|
bd888f12aa | ||
|
|
4af77d4f5d | ||
|
|
f66d782276 | ||
|
|
717c67db67 | ||
|
|
1f47665e70 | ||
|
|
12d07c6b16 | ||
|
|
847863c4eb | ||
|
|
853a36307b | ||
|
|
358f4258bc | ||
|
|
f748b8b362 | ||
|
|
430fc70888 | ||
|
|
03cb4d6801 | ||
|
|
faaf5fc5c1 | ||
|
|
d92819b78b | ||
|
|
cf5412986b | ||
|
|
37a4808693 | ||
|
|
e9bc0d00dd | ||
|
|
39158838f1 | ||
|
|
32623de485 | ||
|
|
2a33fbc85f | ||
|
|
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 |
@@ -1,9 +0,0 @@
|
||||
.git
|
||||
.github
|
||||
test/
|
||||
cache/
|
||||
src/proto/youtube.ts
|
||||
coverage/
|
||||
node_modules/
|
||||
dist/
|
||||
src/proto/generated/
|
||||
@@ -1,91 +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
|
||||
project:
|
||||
- tsconfig.json
|
||||
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'
|
||||
'@typescript-eslint/consistent-type-imports': 'error'
|
||||
'@typescript-eslint/consistent-type-exports': 'error'
|
||||
|
||||
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"
|
||||
6
.github/workflows/lint.yml
vendored
6
.github/workflows/lint.yml
vendored
@@ -10,9 +10,9 @@ jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: "20"
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
23
.github/workflows/release-please.yml
vendored
23
.github/workflows/release-please.yml
vendored
@@ -5,23 +5,28 @@ on:
|
||||
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: google-github-actions/release-please-action@v3
|
||||
- uses: googleapis/release-please-action@v4
|
||||
id: release
|
||||
with:
|
||||
release-type: node
|
||||
package-name: youtubei.js
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "16.x"
|
||||
node-version: "20"
|
||||
- name: Build for Deno
|
||||
run: |
|
||||
npm ci
|
||||
@@ -48,15 +53,13 @@ jobs:
|
||||
- name: Remove Deno folder
|
||||
run: rm -rf build
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "16.x"
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
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
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
3
.github/workflows/stale.yml
vendored
3
.github/workflows/stale.yml
vendored
@@ -8,10 +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-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
|
||||
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -10,9 +10,9 @@ jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
- run: npm ci
|
||||
- run: npm run test
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -56,6 +56,7 @@ pnpm-lock.yaml
|
||||
|
||||
# Downloaded assets
|
||||
*.mp4
|
||||
*.m4a
|
||||
*.webm
|
||||
*.mkv
|
||||
|
||||
@@ -73,5 +74,10 @@ deno/
|
||||
# VSCode files
|
||||
.vscode/
|
||||
|
||||
# Webstorm files
|
||||
.idea/
|
||||
|
||||
# MacOS
|
||||
.DS_Store
|
||||
|
||||
*.bin
|
||||
@@ -1,6 +1,8 @@
|
||||
**
|
||||
|
||||
src/
|
||||
docs/
|
||||
!dist/**
|
||||
!README.md
|
||||
!LICENSE
|
||||
!bundle/**
|
||||
741
CHANGELOG.md
741
CHANGELOG.md
@@ -1,5 +1,746 @@
|
||||
# Changelog
|
||||
|
||||
## [17.0.1](https://github.com/LuanRT/YouTube.js/compare/v17.0.0...v17.0.1) (2026-03-16)
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* **release:** release 17.0.1 ([3cae95c](https://github.com/LuanRT/YouTube.js/commit/3cae95c5314c66029cf97f400f79a99eef03899d))
|
||||
|
||||
## [17.0.0](https://github.com/LuanRT/YouTube.js/compare/v16.0.1...v17.0.0) (2026-03-16)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **Search:** Update search filters to match YouTube changes ([#1136](https://github.com/LuanRT/YouTube.js/issues/1136))
|
||||
* **Innertube:** Remove getTrending as YouTube removed the trending feed ([#1114](https://github.com/LuanRT/YouTube.js/issues/1114))
|
||||
|
||||
### Features
|
||||
|
||||
* **Format:** Add support for Voice Boost & Super Resolution formats ([#1092](https://github.com/LuanRT/YouTube.js/issues/1092)) ([769721c](https://github.com/LuanRT/YouTube.js/commit/769721c193f2073522a9d35708a07dc8b493f1c7))
|
||||
* **parser:** Add `VideoSummaryContentView` and `VideoSummaryParagraphView` ([#1153](https://github.com/LuanRT/YouTube.js/issues/1153)) ([da1fac2](https://github.com/LuanRT/YouTube.js/commit/da1fac2d294061229ff550bf08b071206777b97d))
|
||||
* **Search:** Update search filters to match YouTube changes ([#1136](https://github.com/LuanRT/YouTube.js/issues/1136)) ([e830396](https://github.com/LuanRT/YouTube.js/commit/e83039637e4d7ac857f437a630a8013d6528a544))
|
||||
* **Session:** Add the `ANDROID_VR` client ([#1149](https://github.com/LuanRT/YouTube.js/issues/1149)) ([f9bd5d0](https://github.com/LuanRT/YouTube.js/commit/f9bd5d0e8db39dcb6c68ccc52446fbaa793e04fa))
|
||||
* **StreamingInfo:** Label Voice Boost audio streams ([#1105](https://github.com/LuanRT/YouTube.js/issues/1105)) ([458f881](https://github.com/LuanRT/YouTube.js/commit/458f88104344fda2e2ca41c9504d946d367a0cb7))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ChannelSubMenu:** Handle potential `undefined` values ([543b94c](https://github.com/LuanRT/YouTube.js/commit/543b94c3e4edca29fbd84fcb82fb894d078c28d7))
|
||||
* **ContentMetadataView:** `metadataRows` can be `undefined` ([19b33ea](https://github.com/LuanRT/YouTube.js/commit/19b33ea36e20ef36e483cf24369305f5eca9e5f0))
|
||||
* **FlexibleActionsView:** Update `ActionRow` actions type ([#1129](https://github.com/LuanRT/YouTube.js/issues/1129)) ([5c7b1ba](https://github.com/LuanRT/YouTube.js/commit/5c7b1ba25d17ea0aacf043f402140b217c419f19))
|
||||
* **history:** Add support for `LockupView` content ([#1075](https://github.com/LuanRT/YouTube.js/issues/1075)) ([7e10ac9](https://github.com/LuanRT/YouTube.js/commit/7e10ac987347ec380ac52c524d102c99a98d737d))
|
||||
* **Innertube:** getChannel() if subscribed ([#1128](https://github.com/LuanRT/YouTube.js/issues/1128)) ([3df4c61](https://github.com/LuanRT/YouTube.js/commit/3df4c61bd7853cc7e9d5c3be13c1ef7a8360807b))
|
||||
* **Innertube:** Remove getTrending as YouTube removed the trending feed ([#1114](https://github.com/LuanRT/YouTube.js/issues/1114)) ([7c144ee](https://github.com/LuanRT/YouTube.js/commit/7c144ee013c2d168d93f203c34f88c8c3bfb4068))
|
||||
* **Parser:** Fix ChannelSubMenu parsing ([#1144](https://github.com/LuanRT/YouTube.js/issues/1144)) ([5da9dd3](https://github.com/LuanRT/YouTube.js/commit/5da9dd37a727be792ff4da2c5031cc000d692502))
|
||||
* **parser:** Resolve some old parser issues ([#1154](https://github.com/LuanRT/YouTube.js/issues/1154)) ([8130f80](https://github.com/LuanRT/YouTube.js/commit/8130f808d9bbccf185c69534b624f15715c739d5)), closes [#653](https://github.com/LuanRT/YouTube.js/issues/653) [#781](https://github.com/LuanRT/YouTube.js/issues/781) [#978](https://github.com/LuanRT/YouTube.js/issues/978) [#1053](https://github.com/LuanRT/YouTube.js/issues/1053) [#695](https://github.com/LuanRT/YouTube.js/issues/695) [#1098](https://github.com/LuanRT/YouTube.js/issues/1098)
|
||||
* **Player:** Add support for new variants ([#1152](https://github.com/LuanRT/YouTube.js/issues/1152)) ([d8558af](https://github.com/LuanRT/YouTube.js/commit/d8558afd58dd6c000669b0dc7c62c666e24bc356))
|
||||
* **Session:** Add the ID for ANDROID_VR, remove the mistaken ANDROID_TV key. ([#1151](https://github.com/LuanRT/YouTube.js/issues/1151)) ([c712c54](https://github.com/LuanRT/YouTube.js/commit/c712c546c3c4b5b3766ac77205ccef683eb51545))
|
||||
* **workflow:** Add `id-token` permission for release-please job ([561e69d](https://github.com/LuanRT/YouTube.js/commit/561e69d8b7a1dada852aa24797d728f6b9943413))
|
||||
|
||||
## [16.0.1](https://github.com/LuanRT/YouTube.js/compare/v16.0.0...v16.0.1) (2025-10-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **FormatUtils#download:** Add missing await for format.decipher() call in download function ([ca05eab](https://github.com/LuanRT/YouTube.js/commit/ca05eab0c38042fa28f526947870edd6659fd208))
|
||||
|
||||
## [16.0.0](https://github.com/LuanRT/YouTube.js/compare/v15.1.1...v16.0.0) (2025-10-12)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **Player:** Use AST-based JS extraction with side-effect safe code emission ([#1052](https://github.com/LuanRT/YouTube.js/issues/1052))
|
||||
* Use async/await for the javascript evaluator ([#1047](https://github.com/LuanRT/YouTube.js/issues/1047))
|
||||
|
||||
### Features
|
||||
|
||||
* **history:** Load additional watch history pages ([#1055](https://github.com/LuanRT/YouTube.js/issues/1055)) ([6c12719](https://github.com/LuanRT/YouTube.js/commit/6c127199bad65f3a0086c02c48463eaac22e5077))
|
||||
* **parser:** Add `Form.ts` parser class ([#1056](https://github.com/LuanRT/YouTube.js/issues/1056)) ([3d6ed1d](https://github.com/LuanRT/YouTube.js/commit/3d6ed1def90f5e673969cac650c2250fe98d8768))
|
||||
* **parser:** Add FormPopup.ts parser class ([#1057](https://github.com/LuanRT/YouTube.js/issues/1057)) ([f738a17](https://github.com/LuanRT/YouTube.js/commit/f738a173fc88d04adb6276894d577b437cf0e532))
|
||||
* **protos:** Add playlistTitle field to NextParams ([#1040](https://github.com/LuanRT/YouTube.js/issues/1040)) ([ee9c184](https://github.com/LuanRT/YouTube.js/commit/ee9c184eeb02d1074e06c81897a6fd97078da18b))
|
||||
* **Session:** Add `fail_fast` option ([#1066](https://github.com/LuanRT/YouTube.js/issues/1066)) ([d4e4683](https://github.com/LuanRT/YouTube.js/commit/d4e4683d9435814e1b0807b4343df81b0a12116a))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **gen-parser-map:** update reference to the script in auto-generated files ([#1036](https://github.com/LuanRT/YouTube.js/issues/1036)) ([d448fd2](https://github.com/LuanRT/YouTube.js/commit/d448fd28064bac396b20856e39e499bb84955876))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* **Player:** Use AST-based JS extraction with side-effect safe code emission ([#1052](https://github.com/LuanRT/YouTube.js/issues/1052)) ([25d0876](https://github.com/LuanRT/YouTube.js/commit/25d0876b913d15039be3655cb266ca706b2409d8))
|
||||
* Use async/await for the javascript evaluator ([#1047](https://github.com/LuanRT/YouTube.js/issues/1047)) ([977b13c](https://github.com/LuanRT/YouTube.js/commit/977b13cc23981935b9ea0500238eed93d0a19022))
|
||||
|
||||
## [15.1.1](https://github.com/LuanRT/YouTube.js/compare/v15.1.0...v15.1.1) (2025-09-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Player:** Store the full library version in cache entries ([#1032](https://github.com/LuanRT/YouTube.js/issues/1032)) ([a2c3774](https://github.com/LuanRT/YouTube.js/commit/a2c3774e9a0212d7aab7af2baee1f48ad3319a08))
|
||||
|
||||
## [15.1.0](https://github.com/LuanRT/YouTube.js/compare/v15.0.1...v15.1.0) (2025-09-11)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **parser:** Add ListView, ListItemView and SubscribeButtonView ([#1025](https://github.com/LuanRT/YouTube.js/issues/1025)) ([68a6af9](https://github.com/LuanRT/YouTube.js/commit/68a6af9b2c2e4e5a31b2d6f5c5add6c238e5113e))
|
||||
* **parser:** Parse badges in ContentMetadataView ([#1017](https://github.com/LuanRT/YouTube.js/issues/1017)) ([aa7cf56](https://github.com/LuanRT/YouTube.js/commit/aa7cf561a7cdec017383b9daa6c9401f08995d4c))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **parser:** LockupMetadataView.image can also be an AvatarStackView ([#1026](https://github.com/LuanRT/YouTube.js/issues/1026)) ([bac8965](https://github.com/LuanRT/YouTube.js/commit/bac896501b9525c28b319301151a0dde93d08ec0))
|
||||
* **Player:** Fix global variable extraction in the deciphering code ([#1029](https://github.com/LuanRT/YouTube.js/issues/1029)) ([3ea2815](https://github.com/LuanRT/YouTube.js/commit/3ea2815abac03ae7371e45ae2f2758caf9db2266))
|
||||
* **types:** Parser.parseArray always returns an ObservedArray ([#1014](https://github.com/LuanRT/YouTube.js/issues/1014)) ([8be677a](https://github.com/LuanRT/YouTube.js/commit/8be677adec6631be557c95adc8f687e5d01b4fdf))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* Replace uses of ObservableArray#get with Array#find ([#1013](https://github.com/LuanRT/YouTube.js/issues/1013)) ([95976de](https://github.com/LuanRT/YouTube.js/commit/95976de115587d8f266bc44355440835f3b2b02f))
|
||||
|
||||
## [15.0.1](https://github.com/LuanRT/YouTube.js/compare/v15.0.0...v15.0.1) (2025-07-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Innertube:** Handle redirects in getChannel() ([#1002](https://github.com/LuanRT/YouTube.js/issues/1002)) ([cb87cc1](https://github.com/LuanRT/YouTube.js/commit/cb87cc1cae43b75ea31f984a9c6939097d58dd6f))
|
||||
|
||||
## [15.0.0](https://github.com/LuanRT/YouTube.js/compare/v14.0.0...v15.0.0) (2025-07-18)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* Drop support for CommonJS
|
||||
* **Innertube:** The second parameters of `Innertube.getInfo()` and `Innertube.getBasicInfo()` have changed to an object, that means that `Innertube.getInfo('jNQXAC9IVRw', 'MWEB')` becomes `Innertube.getInfo('jNQXAC9IVRw', { client: 'MWEB' })` and `Innertube.getBasicInfo('jNQXAC9IVRw', 'MWEB')` becomes `Innertube.getBasicInfo('jNQXAC9IVRw', { client: 'MWEB' })`. The same applies to the `getInfo` method in the `Music` and `Kids` client classes.
|
||||
|
||||
### Features
|
||||
|
||||
* **CommentsView:** parse `voice_reply_transcript` ([#981](https://github.com/LuanRT/YouTube.js/issues/981)) ([d6f13e2](https://github.com/LuanRT/YouTube.js/commit/d6f13e20ac6806e7a97dc8c3bd6bb947be6fd76c))
|
||||
* **DashManifest:** Add DRM infos to MPD ([7ae4ccf](https://github.com/LuanRT/YouTube.js/commit/7ae4ccf70ad78bac7d6421d94df529f8f79a13f3))
|
||||
* **Innertube:** Add `GetVideoInfoOptions` to support content bound PoTokens ([#994](https://github.com/LuanRT/YouTube.js/issues/994)) ([b6386e4](https://github.com/LuanRT/YouTube.js/commit/b6386e40274432591a9063059e8b688da0d26c38))
|
||||
* **parser-classes:** Add `CompositeVideoPrimaryInfo` parser class ([#984](https://github.com/LuanRT/YouTube.js/issues/984)) ([6386976](https://github.com/LuanRT/YouTube.js/commit/638697696f54482c5270b0d11d1a7a33b5cd902a))
|
||||
* **Parser:** Add `DismissableDialog` and `DismissableDialogContentSection` nodes ([#997](https://github.com/LuanRT/YouTube.js/issues/997)) ([e94ef37](https://github.com/LuanRT/YouTube.js/commit/e94ef3748e6a38f192d79e5f12165933c6e6dc94))
|
||||
* **Parser:** Add `HypePointsFactoid` node ([0091f51](https://github.com/LuanRT/YouTube.js/commit/0091f51dd2691dd1031896dd52c989426534dae8))
|
||||
* **Parser:** Add `SectionHeaderView` and `GridShelfView` ([#988](https://github.com/LuanRT/YouTube.js/issues/988)) ([bc386db](https://github.com/LuanRT/YouTube.js/commit/bc386db6bad4040580b85ce64a39a30d9a04cb38))
|
||||
* **Parser:** Add `ToggleFormField` node ([#902](https://github.com/LuanRT/YouTube.js/issues/902)) ([42bcf19](https://github.com/LuanRT/YouTube.js/commit/42bcf197bc8b3117e40d8f61300a97332e4963ba))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Artist:** `getAllSongs` not finding target shelf ([#999](https://github.com/LuanRT/YouTube.js/issues/999)) ([64f9955](https://github.com/LuanRT/YouTube.js/commit/64f995585fd0ee908bdc5404929996e9a5e5c3c9))
|
||||
* **Channel:** Use new URL for community tab ([#986](https://github.com/LuanRT/YouTube.js/issues/986)) ([dfaf150](https://github.com/LuanRT/YouTube.js/commit/dfaf1501c93e29bd27a5553df0ee5b46d490ac12))
|
||||
* **Innertube#getPost:** Update protobuf schema ([#987](https://github.com/LuanRT/YouTube.js/issues/987)) ([e9d6483](https://github.com/LuanRT/YouTube.js/commit/e9d6483e5a3c53efab6e29083e32f9a2e238bedc))
|
||||
* Make "deno" conditional export have higher precedence than "node" ([#983](https://github.com/LuanRT/YouTube.js/issues/983)) ([2996ebb](https://github.com/LuanRT/YouTube.js/commit/2996ebb334d98cfde72243c233366285db945d02))
|
||||
* **MediaInfo:** Remove unused parameters from `toDash` method ([3fcf987](https://github.com/LuanRT/YouTube.js/commit/3fcf987aecbb43ed16aa4d29a2d66c3c4ef15175))
|
||||
* **Session:** Incorrect session client logic ([76504c0](https://github.com/LuanRT/YouTube.js/commit/76504c0d0875228299dddf24bd550ed2a5e4244f))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Drop support for CommonJS ([d134fd2](https://github.com/LuanRT/YouTube.js/commit/d134fd2e9e1b27aebd1095562cd5c5da32cbf6d8))
|
||||
|
||||
## [14.0.0](https://github.com/LuanRT/YouTube.js/compare/v13.4.0...v14.0.0) (2025-06-08)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **StreamingInfoOptions:** Add `is_sabr` option ([#974](https://github.com/LuanRT/YouTube.js/issues/974))
|
||||
|
||||
### Features
|
||||
|
||||
* Add `TV_SIMPLY` client ([8cf6581](https://github.com/LuanRT/YouTube.js/commit/8cf658151fc4e4266fadfb7e53dd5db3db693355))
|
||||
* **MediaInfo:** Add `updateWatchTime` ([#874](https://github.com/LuanRT/YouTube.js/issues/874)) ([065e9a4](https://github.com/LuanRT/YouTube.js/commit/065e9a4e7c3fee90f68d06992cf979338f8e3aba))
|
||||
* **StreamingInfoOptions:** Add `is_sabr` option ([#974](https://github.com/LuanRT/YouTube.js/issues/974)) ([561e60b](https://github.com/LuanRT/YouTube.js/commit/561e60b934df29520eb0bd83a98e42fa4d7d35bb))
|
||||
* **VideoInfo:** implement `MacroMarkersListEntity` parser for heatmap ([#973](https://github.com/LuanRT/YouTube.js/issues/973)) ([876e94a](https://github.com/LuanRT/YouTube.js/commit/876e94ad03398f546ef7942deb9ba5eb8baa6c6d))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add missing `TV_SIMPLY` parts on some files ([#975](https://github.com/LuanRT/YouTube.js/issues/975)) ([689fb0b](https://github.com/LuanRT/YouTube.js/commit/689fb0b90edab6f0e4326a35144541d68f72fe01))
|
||||
* **Constants:** Add `TVHTML5_SIMPLY` to `CLIENT_NAME_IDS` ([b15f623](https://github.com/LuanRT/YouTube.js/commit/b15f623dab3acb44eaef33175df2d22d35be2979))
|
||||
* **getBasicInfo:** Add racyCheckOk and contentCheckOk to payload ([#961](https://github.com/LuanRT/YouTube.js/issues/961)) ([0f1fd72](https://github.com/LuanRT/YouTube.js/commit/0f1fd7223c2e5c8e28637e84a1c00c6d88fad50f))
|
||||
* Handle CommandExecutorCommand in NavigationEndpoint.call ([#968](https://github.com/LuanRT/YouTube.js/issues/968)) ([698121a](https://github.com/LuanRT/YouTube.js/commit/698121ab8f62fbed6e78892277caf93a9890b930))
|
||||
* **Innertube:** Properly encoded params in getPostComments() ([#955](https://github.com/LuanRT/YouTube.js/issues/955)) ([92b8623](https://github.com/LuanRT/YouTube.js/commit/92b8623374a126d60604a54fa4be67b460ddc5e3))
|
||||
* **Session:** Initialize client version based on provided client name ([#971](https://github.com/LuanRT/YouTube.js/issues/971)) ([bb022e8](https://github.com/LuanRT/YouTube.js/commit/bb022e8285e0bf2dfa709e7401b80f9de18833e1))
|
||||
|
||||
## [13.4.0](https://github.com/LuanRT/YouTube.js/compare/v13.3.0...v13.4.0) (2025-04-23)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **MultiPageMenuNotificationSection:** Add `notification_section_title` ([f869011](https://github.com/LuanRT/YouTube.js/commit/f8690118c3e4edbc22a6b9f59477a8e40e39d9a3))
|
||||
* **Parser:** Add `OpenOnePickAddVideoModalCommand` node ([#901](https://github.com/LuanRT/YouTube.js/issues/901)) ([ff1aa67](https://github.com/LuanRT/YouTube.js/commit/ff1aa67b8bebd8e038ea77a124d0be0ed420bc55))
|
||||
* **parser:** Parse `targetId` ([458c490](https://github.com/LuanRT/YouTube.js/commit/458c4900d78f9b16761faae421bcd8cb302f19b8))
|
||||
* **RichRenderers:** Parse more UI elements ([d8f731b](https://github.com/LuanRT/YouTube.js/commit/d8f731b2fa4b755324b0ef4ad68be45f735b29a9))
|
||||
* **RichShelf:** Add `icon_type` property ([dce51cd](https://github.com/LuanRT/YouTube.js/commit/dce51cdc4abad21812ee9e7ba02885dffde35d3a))
|
||||
* **Session:** Add `deviceExperimentId` and `rolloutToken` to session data ([c704836](https://github.com/LuanRT/YouTube.js/commit/c7048368cc38a6a322c8006a4cfd208235d27caf))
|
||||
* **Session:** Add `retrieve_innertube_config` option ([#949](https://github.com/LuanRT/YouTube.js/issues/949)) ([4808d2e](https://github.com/LuanRT/YouTube.js/commit/4808d2e13a90710cdea2c72332deb7809d5fdbdd))
|
||||
* **Session:** Add option to override Player ID ([#951](https://github.com/LuanRT/YouTube.js/issues/951)) ([5e665e8](https://github.com/LuanRT/YouTube.js/commit/5e665e8f0ba6e68d689b42be852ec20597c6b6a6))
|
||||
* **Text:** Parse accessibility data ([a95f52a](https://github.com/LuanRT/YouTube.js/commit/a95f52a4777ea158f3d3e85f4213aee364a2d38d))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HTTPClient:** Use the correct constant for the iOS client OS name ([#938](https://github.com/LuanRT/YouTube.js/issues/938)) ([95d9211](https://github.com/LuanRT/YouTube.js/commit/95d9211eae51c2d47468cacbed8cd9bdaa2fcd33))
|
||||
* **Player:** Use global var to find signature algorithm ([#953](https://github.com/LuanRT/YouTube.js/issues/953)) ([7f1eeb6](https://github.com/LuanRT/YouTube.js/commit/7f1eeb6b5bbae72d455609e8fd972ad936a69e27))
|
||||
|
||||
## [13.3.0](https://github.com/LuanRT/YouTube.js/compare/v13.2.0...v13.3.0) (2025-03-25)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **MusicImmersiveHeader:** Parse buttons and menu ([cbb2535](https://github.com/LuanRT/YouTube.js/commit/cbb2535b2492777b0045be5fcf9bece03fe4f84e))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Player:** Parse global variable used by nsig/sig ([#935](https://github.com/LuanRT/YouTube.js/issues/935)) ([edfd65f](https://github.com/LuanRT/YouTube.js/commit/edfd65f5e08a9155b8c31d8127a4e309313b39de))
|
||||
|
||||
## [13.2.0](https://github.com/LuanRT/YouTube.js/compare/v13.1.0...v13.2.0) (2025-03-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add AccessibilityContext and CommandContext classes + improve type definitions and parsing logic across multiple nodes ([923e9c2](https://github.com/LuanRT/YouTube.js/commit/923e9c28e34b00841413824d82d10bf644186edc))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Constants:** Update the iOS client version ([#924](https://github.com/LuanRT/YouTube.js/issues/924)) ([219d88b](https://github.com/LuanRT/YouTube.js/commit/219d88b2005431c6697f04e1fa2c5e8528a9ce57))
|
||||
* **Format:** Parse xtags from protobuf to support SABR-only responses ([#909](https://github.com/LuanRT/YouTube.js/issues/909)) ([00c199a](https://github.com/LuanRT/YouTube.js/commit/00c199ac69bc6d7be19aeae04a245f30b64272c2))
|
||||
|
||||
## [13.1.0](https://github.com/LuanRT/YouTube.js/compare/v13.0.0...v13.1.0) (2025-02-21)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Channel:** Add `getCourses` method ([#883](https://github.com/LuanRT/YouTube.js/issues/883)) ([b3a4862](https://github.com/LuanRT/YouTube.js/commit/b3a48621518f09d1ce309071499d9626cc1a8488))
|
||||
* **CommentView:** Parse `prepareAccountCommand` ([d0d48bf](https://github.com/LuanRT/YouTube.js/commit/d0d48bf525cc2a95dd3397a3142bea113ea9782e))
|
||||
* **CommentView:** Parse some extra tooltips ([32125c7](https://github.com/LuanRT/YouTube.js/commit/32125c704565f425806a0721edd96e01028e3fdd))
|
||||
* **CompactLink:** Parse `subtitle`, `iconType`, and `iconType` ([6d57353](https://github.com/LuanRT/YouTube.js/commit/6d57353a8021430a5253e2fb2c974ca98d731791))
|
||||
* **FormatUtils:** choose more specific format by itag or codec ([#884](https://github.com/LuanRT/YouTube.js/issues/884)) ([1c1577e](https://github.com/LuanRT/YouTube.js/commit/1c1577e85fd46cbfa15bcee6531d9aafdda787e5))
|
||||
* **parser:** `Add AnimatedThumbnailOverlayView` ([#903](https://github.com/LuanRT/YouTube.js/issues/903)) ([0cb92d9](https://github.com/LuanRT/YouTube.js/commit/0cb92d9620c13bf6b719b384f917ad2a658e15b1))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **dependencies:** Update `jintr` to version 3.2.1 ([02dfcae](https://github.com/LuanRT/YouTube.js/commit/02dfcae612dd528ce4f1f3f6c62ceefd02a5c790))
|
||||
* **DialogView:** Type mismatch ([#897](https://github.com/LuanRT/YouTube.js/issues/897)) ([b731db8](https://github.com/LuanRT/YouTube.js/commit/b731db86c51ba292c848272f28b5a9aa2e2a6956))
|
||||
* **FormatUtils:** itag matching ([#886](https://github.com/LuanRT/YouTube.js/issues/886)) ([774b3a7](https://github.com/LuanRT/YouTube.js/commit/774b3a75244db85ceb7b00f658dc2dfeb2eb4e7e))
|
||||
* **innertube:** Allowing `getStreamingData` to use client ([#895](https://github.com/LuanRT/YouTube.js/issues/895)) ([5aecd0a](https://github.com/LuanRT/YouTube.js/commit/5aecd0ace96c371f0b15cdc6e45ef09beb5696af))
|
||||
* **Innertube:** Properly encoded params in getPost() ([#882](https://github.com/LuanRT/YouTube.js/issues/882)) ([7d5c972](https://github.com/LuanRT/YouTube.js/commit/7d5c972c98d7c69b0b687b241c652f3098907a9f))
|
||||
* **LockupMetadataView:** Parse `menuButton` ([3ffdee9](https://github.com/LuanRT/YouTube.js/commit/3ffdee9554b06db137d93e43b33fac124becf31f))
|
||||
* **LockupView:** Add overlay nodes used by `VIDEO` views ([424c653](https://github.com/LuanRT/YouTube.js/commit/424c65356c24d19a921e24aadcbbb3cd03ab103a))
|
||||
* **LockupView:** Fix `content_image` parsing ([083aec1](https://github.com/LuanRT/YouTube.js/commit/083aec1c805cce6b04a75e4f017b5cdf0bb6108e))
|
||||
* **music#getPlaylist:** Handle `ContinuationItem` nodes ([a3fafe2](https://github.com/LuanRT/YouTube.js/commit/a3fafe2f7979313906dbaf1a7f9779f411266d6b)), closes [#904](https://github.com/LuanRT/YouTube.js/issues/904)
|
||||
* **Parser:** Add `UpdateEngagementPanelContentCommand` ([3f960ef](https://github.com/LuanRT/YouTube.js/commit/3f960effa24c3b14fa3c6aadf4c7badf0ac965c9))
|
||||
* **Playlist:** is_editable ([#894](https://github.com/LuanRT/YouTube.js/issues/894)) ([2b42199](https://github.com/LuanRT/YouTube.js/commit/2b4219959cbbb27cd80788e66b608fdeed3a1f1e))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* "fix(toDash): Fix default audio stream for dubbed movie trailers ([#858](https://github.com/LuanRT/YouTube.js/issues/858))" ([#896](https://github.com/LuanRT/YouTube.js/issues/896)) ([4325717](https://github.com/LuanRT/YouTube.js/commit/432571769ebc6634c2c9a4c1b5e53cfbbd2a5f0a))
|
||||
|
||||
## [13.0.0](https://github.com/LuanRT/YouTube.js/compare/v12.2.0...v13.0.0) (2025-01-20)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* Remove `web.bundle.min`
|
||||
|
||||
### Features
|
||||
|
||||
* **ContentMetadataView:** Parse `enableTruncation` ([#863](https://github.com/LuanRT/YouTube.js/issues/863)) ([0a3104b](https://github.com/LuanRT/YouTube.js/commit/0a3104bafc03ccd29420a835b420f628b380991d))
|
||||
* **getSearchSuggestions:** Add optional `pq` param for better suggestions ([c61db19](https://github.com/LuanRT/YouTube.js/commit/c61db19f2e3bd44bc5bf2ebdf8de041f169d8fab))
|
||||
* **Innertube:** Add `getAttestationChallenge` ([#869](https://github.com/LuanRT/YouTube.js/issues/869)) ([33c27dd](https://github.com/LuanRT/YouTube.js/commit/33c27ddcb5ea96241b2a0bf4ec14ec5937264998))
|
||||
* **Innertube:** Add ability to get individual community posts and community post comments ([#861](https://github.com/LuanRT/YouTube.js/issues/861)) ([360b29e](https://github.com/LuanRT/YouTube.js/commit/360b29ee60af2cf803106ca5315c365ddacbe51b))
|
||||
* **LiveChatPaidMessage:** Parse `headerOverlayImage` and `lowerBumper` ([#851](https://github.com/LuanRT/YouTube.js/issues/851)) ([ef37aa0](https://github.com/LuanRT/YouTube.js/commit/ef37aa0a5abb573f192f86d1accb88d90d707752))
|
||||
* **Music:** Add continuation support for "Up next" tab in `TrackInfo` ([#770](https://github.com/LuanRT/YouTube.js/issues/770)) ([2913d5f](https://github.com/LuanRT/YouTube.js/commit/2913d5f43dd28b9146cf05607cbe28d727463d51))
|
||||
* **PageHeaderView:** Parse `heroImage` ([a602a31](https://github.com/LuanRT/YouTube.js/commit/a602a317aaaffa575d2b03754f0625a6e5858162))
|
||||
* **Parser:** Add `AvatarStackView` ([c631022](https://github.com/LuanRT/YouTube.js/commit/c6310228fee1ed01f93a0e4e0482d09a967ef1be))
|
||||
* **Parser:** Add `HowThisWasMadeSectionView` node ([5da8a66](https://github.com/LuanRT/YouTube.js/commit/5da8a66551c85fa45a01713383e6f621db053b46))
|
||||
* **parser:** Add `ReplaceLiveChatAction` ([#847](https://github.com/LuanRT/YouTube.js/issues/847)) ([342fdd1](https://github.com/LuanRT/YouTube.js/commit/342fdd1db30bc61de5f19fc4ed35db8931706903))
|
||||
* **Parser:** Implement utility class to parse `rendererContext` ([3a11b99](https://github.com/LuanRT/YouTube.js/commit/3a11b99429ff9d8cc9aebc7bbee0b7645e30f7ff))
|
||||
* **parser:** Parse `OpenPopupAction` in `onResponseReceivedEndpoints` arrays ([45b7342](https://github.com/LuanRT/YouTube.js/commit/45b734288e070ef5e347cec5bae445d0cf883eba))
|
||||
* **Parser:** Parse YpcTrailer in VideoInfo ([#842](https://github.com/LuanRT/YouTube.js/issues/842)) ([c0043d0](https://github.com/LuanRT/YouTube.js/commit/c0043d0194f582c2ed85341291e2eace25dd78d8))
|
||||
* **parser:** Update `Button` ([#857](https://github.com/LuanRT/YouTube.js/issues/857)) ([5f899fc](https://github.com/LuanRT/YouTube.js/commit/5f899fcdb30deefc189e8325e4358812c5b05800))
|
||||
* **parser:** Update `LiveChatPaidMessage` ([#846](https://github.com/LuanRT/YouTube.js/issues/846)) ([73362c6](https://github.com/LuanRT/YouTube.js/commit/73362c68fbc8b966ff46cc8b145e1e8d9fbe32ee))
|
||||
* **parser:** Update `LiveChatPaidSticker` ([#849](https://github.com/LuanRT/YouTube.js/issues/849)) ([3c28c0d](https://github.com/LuanRT/YouTube.js/commit/3c28c0d2c2b583a31fe0e49cce4cdfbfe380874d))
|
||||
* **parser:** Update `LiveChatTextMessage` ([#864](https://github.com/LuanRT/YouTube.js/issues/864)) ([9025122](https://github.com/LuanRT/YouTube.js/commit/902512248417ae86e25082d429b13d8c57a5c5b1))
|
||||
* **parser:** Update `LiveChatTickerPaidMessageItem` ([#845](https://github.com/LuanRT/YouTube.js/issues/845)) ([29e8d30](https://github.com/LuanRT/YouTube.js/commit/29e8d3015a3d17383a8be4e6f46b389d10f111f3))
|
||||
* **parser:** Update `LiveChatTickerPaidStickerItem` ([#848](https://github.com/LuanRT/YouTube.js/issues/848)) ([5f83a74](https://github.com/LuanRT/YouTube.js/commit/5f83a7416d5dc3167e6af2767e9b90f4bf89f3dc))
|
||||
* **parser:** Update `LiveChatViewerEngagementMessage` ([#856](https://github.com/LuanRT/YouTube.js/issues/856)) ([b4a947a](https://github.com/LuanRT/YouTube.js/commit/b4a947a9eb9dd1ae6e9d1da1a00083ac1afca03e))
|
||||
* **Playlists:** Implement `addToLibrary` and `removeFromLibrary` ([#844](https://github.com/LuanRT/YouTube.js/issues/844)) ([48460e4](https://github.com/LuanRT/YouTube.js/commit/48460e4184bac0f6626550b80696f950f7626beb))
|
||||
* **RichGrid:** Parse `targetId` ([e571ee2](https://github.com/LuanRT/YouTube.js/commit/e571ee2426c6003c1bc690cbf98b0ab72ebfaa10))
|
||||
* **Session:** Allow using a fixed user agent for InnerTube requests ([#876](https://github.com/LuanRT/YouTube.js/issues/876)) ([4d36655](https://github.com/LuanRT/YouTube.js/commit/4d36655b2dad74aeb74e869ca8259e9d13dfb512))
|
||||
* **SubscribeButton:** Add `unsubscribe_text` ([75b8964](https://github.com/LuanRT/YouTube.js/commit/75b89641805abada1498edebac5b72a40860b215))
|
||||
* **ToggleButtonView:** Add `is_toggled` ([88af6d8](https://github.com/LuanRT/YouTube.js/commit/88af6d89a56907d6f2263c01fc158400788fb5b4))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ButtonCardView:** Correct typo ([#855](https://github.com/LuanRT/YouTube.js/issues/855)) ([6536801](https://github.com/LuanRT/YouTube.js/commit/6536801ec2e4f9b93d1e272b7b04e2777b74abad))
|
||||
* **DescriptionPreviewView:** Parsing errors when certain fields are missing ([c2dd803](https://github.com/LuanRT/YouTube.js/commit/c2dd803eeaeec3292d92bc0efaaa2404fb87355c))
|
||||
* **getSearchSuggestions:** Allow empty queries ([523700b](https://github.com/LuanRT/YouTube.js/commit/523700b728e8b2f126b1b6266dc153ad683dcbcb))
|
||||
* **LiveChatTextMessage:** Make some fields optional ([#877](https://github.com/LuanRT/YouTube.js/issues/877)) ([a035b71](https://github.com/LuanRT/YouTube.js/commit/a035b7169614ac92081b8cb377711d7da559e65b))
|
||||
* **sendMessage:** Handle `RunAttestationCommand` in response actions ([#859](https://github.com/LuanRT/YouTube.js/issues/859)) ([826a954](https://github.com/LuanRT/YouTube.js/commit/826a9541a44121bafe4ce19f2cd4a68fcabb2384))
|
||||
* **Text#fromAttributed:** Fix `StyleRun` assuming that the `startIndex` and `length` always exist ([#862](https://github.com/LuanRT/YouTube.js/issues/862)) ([732a30c](https://github.com/LuanRT/YouTube.js/commit/732a30c09f50a9d78d5d1686ffef88a3bde2e53e))
|
||||
* **Text#toHTML:** Return empty string if the text is `undefined` ([f3c777b](https://github.com/LuanRT/YouTube.js/commit/f3c777b31638cc9c6ce7f4b7ba566ff0534b47dc))
|
||||
* **TextRun:** Add `img` element only if an URL is available ([913dcc7](https://github.com/LuanRT/YouTube.js/commit/913dcc74eadf1a5df7878688d2c6cf434642f1b5))
|
||||
* **toDash:** Fix default audio stream for dubbed movie trailers ([#858](https://github.com/LuanRT/YouTube.js/issues/858)) ([0054690](https://github.com/LuanRT/YouTube.js/commit/00546909c02841c7e404766b13f2c02e42e3f6fc))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* **constants:** Move the client name IDs into their own CLIENT_NAME_IDS object ([#875](https://github.com/LuanRT/YouTube.js/issues/875)) ([06887e9](https://github.com/LuanRT/YouTube.js/commit/06887e99fb1c2546e74b5026cb1ae1ce0be2e3e9))
|
||||
* Optimise DASH manifest generation ([#870](https://github.com/LuanRT/YouTube.js/issues/870)) ([1a3d663](https://github.com/LuanRT/YouTube.js/commit/1a3d663cc56a54b8517eb5f82e7892d37db3082e))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Remove `web.bundle.min` ([e54e499](https://github.com/LuanRT/YouTube.js/commit/e54e499ff553dab51e6d9d1aebc090b50fec29ba))
|
||||
|
||||
## [12.2.0](https://github.com/LuanRT/YouTube.js/compare/v12.1.0...v12.2.0) (2024-12-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Actions:** Allow auth check to be skipped ([67f13ff](https://github.com/LuanRT/YouTube.js/commit/67f13fffacec2c655a03d66c6d8016620d9abcf9))
|
||||
* add `VideoMetadataCarouselView` ([#839](https://github.com/LuanRT/YouTube.js/issues/839)) ([9a9bb76](https://github.com/LuanRT/YouTube.js/commit/9a9bb76a928594c5c5f3e828c86081bf79c2562d))
|
||||
* **parser:** Add `ActiveAccountHeader` ([5f233ae](https://github.com/LuanRT/YouTube.js/commit/5f233ae34e278e7f7a0c48e4ba762d9bac9e312f))
|
||||
* **parser:** Add `ButtonCardView` ([#834](https://github.com/LuanRT/YouTube.js/issues/834)) ([eeaae62](https://github.com/LuanRT/YouTube.js/commit/eeaae6209f238b838b9b7fdd9bbef89f4f858fa3))
|
||||
* **parser:** Add `ClientSideToggleMenuItem` ([#835](https://github.com/LuanRT/YouTube.js/issues/835)) ([0b2b0da](https://github.com/LuanRT/YouTube.js/commit/0b2b0da9577f8d6ad19393700071ea9f26d4da10))
|
||||
* **parser:** Add `PlaylistThumbnailOverlay` ([c8173c8](https://github.com/LuanRT/YouTube.js/commit/c8173c88e0e17ec4bb4e93af1867c55d07611cc0))
|
||||
* **parser:** Update `LiveChatBanner` ([#840](https://github.com/LuanRT/YouTube.js/issues/840)) ([69d42b2](https://github.com/LuanRT/YouTube.js/commit/69d42b291c927abb9d84f97ed03518c4ddd4506e))
|
||||
* **parser:** Update `LiveChatMembershipItem` ([#836](https://github.com/LuanRT/YouTube.js/issues/836)) ([0c319aa](https://github.com/LuanRT/YouTube.js/commit/0c319aacdeba106d84b7f44505a7a296a154f97a))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Player:** Fix signature algorithm extraction again ([#837](https://github.com/LuanRT/YouTube.js/issues/837)) ([13e7961](https://github.com/LuanRT/YouTube.js/commit/13e796123b87136f2d5d3b3c9b3ed079a014bf46))
|
||||
|
||||
## [12.1.0](https://github.com/LuanRT/YouTube.js/compare/v12.0.0...v12.1.0) (2024-12-10)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add `MWEB` client ([4bf125b](https://github.com/LuanRT/YouTube.js/commit/4bf125b6a53460f631410e1ab949a16cc0c7d095))
|
||||
* **parser:** Add mobile guide nodes ([ad2ae51](https://github.com/LuanRT/YouTube.js/commit/ad2ae51b97d84dcb9d2547b4cfef7402f2410404))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Player:** Bump cache version ([283172f](https://github.com/LuanRT/YouTube.js/commit/283172f22032d60b407cb0159a391a147b569432))
|
||||
* **Player:** Fix signature algorithm extraction ([#832](https://github.com/LuanRT/YouTube.js/issues/832)) ([ce4996c](https://github.com/LuanRT/YouTube.js/commit/ce4996cea7b0607cb7f9aca7ae9c9e439d964a5a))
|
||||
|
||||
## [12.0.0](https://github.com/LuanRT/YouTube.js/compare/v11.0.1...v12.0.0) (2024-12-05)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **parser:** Remove old comment node
|
||||
* **Log:** Convert Log class to module ([#814](https://github.com/LuanRT/YouTube.js/issues/814))
|
||||
* **parser:** Remove getters that have been deprecated for a long time ([#815](https://github.com/LuanRT/YouTube.js/issues/815))
|
||||
* **parser:** Implement endpoint/command parsers ([#812](https://github.com/LuanRT/YouTube.js/issues/812))
|
||||
|
||||
### Features
|
||||
|
||||
* **account:** Add missing property `channel_handle` ([#789](https://github.com/LuanRT/YouTube.js/issues/789)) ([677e1f0](https://github.com/LuanRT/YouTube.js/commit/677e1f08075a4a59274f89f3eb65967d7d0ab01b))
|
||||
* Add `getCourses` ([#798](https://github.com/LuanRT/YouTube.js/issues/798)) ([cfb48fa](https://github.com/LuanRT/YouTube.js/commit/cfb48fab89792d87a7377eaf15a56d289d26769b))
|
||||
* **EngagementPanelTitleHeader:** Add `contextual_info` and `menu` ([af3a916](https://github.com/LuanRT/YouTube.js/commit/af3a91645d84798e744519ec8f24e565cc1ecdb1))
|
||||
* **Log:** Convert Log class to module ([#814](https://github.com/LuanRT/YouTube.js/issues/814)) ([fc55716](https://github.com/LuanRT/YouTube.js/commit/fc5571629eca037af7de03f4b903da6add1f300b))
|
||||
* **NavigationEndpoint:** Add name property ([bdebb9f](https://github.com/LuanRT/YouTube.js/commit/bdebb9f741291d2f0640274454c90b5ccda8ea5d))
|
||||
* **parser:** Add `AddToPlaylist` node ([2940f7b](https://github.com/LuanRT/YouTube.js/commit/2940f7b908ee720492994a41efdabb9fae08708c))
|
||||
* **parser:** Add `animated_image` to `PageHeaderView` ([#819](https://github.com/LuanRT/YouTube.js/issues/819)) ([8e50ebd](https://github.com/LuanRT/YouTube.js/commit/8e50ebd92583ae76b080fed4c7599684370dc09d))
|
||||
* **parser:** Add `ChangeEngagementPanelVisibilityAction` ([c2b2d7a](https://github.com/LuanRT/YouTube.js/commit/c2b2d7ad52d2cdd1d721ae4569fb6f8cb0540476))
|
||||
* **parser:** Add `ChangeEngagementPanelVisibilityEndpoint` ([2824900](https://github.com/LuanRT/YouTube.js/commit/28249008521b4cb600756f8ff83e10ec3037ba69))
|
||||
* **parser:** Add `LiveChatBannerChatSummary` node, update `TextRun` node ([#809](https://github.com/LuanRT/YouTube.js/issues/809)) ([7fb00fa](https://github.com/LuanRT/YouTube.js/commit/7fb00fa378574d1567d436f8a824fbb618db2373))
|
||||
* **parser:** Add `LiveChatBannerRedirect` node ([#799](https://github.com/LuanRT/YouTube.js/issues/799)) ([ad302b8](https://github.com/LuanRT/YouTube.js/commit/ad302b8b17c0bfc1d81728130d4ba25a88ed241f))
|
||||
* **parser:** add `LiveChatModeChangeMessage` node ([#811](https://github.com/LuanRT/YouTube.js/issues/811)) ([7156a58](https://github.com/LuanRT/YouTube.js/commit/7156a585c036a5000d0a50f3f4860a462762fdfe))
|
||||
* **parser:** Add `LiveChatSponsorshipsGiftPurchaseAnnouncement` and `LiveChatSponsorshipsHeader` nodes ([#793](https://github.com/LuanRT/YouTube.js/issues/793)) ([4e9c2a5](https://github.com/LuanRT/YouTube.js/commit/4e9c2a585bf84751dd4e3964f70fba284c8b8e38))
|
||||
* **parser:** Add `LiveChatSponsorshipsGiftRedemptionAnnouncement` node ([#795](https://github.com/LuanRT/YouTube.js/issues/795)) ([20f7971](https://github.com/LuanRT/YouTube.js/commit/20f797129973c6b91fa228e50d375b0c9d0226d2))
|
||||
* **parser:** Add `MenuFlexibleItem` ([bc9a0ed](https://github.com/LuanRT/YouTube.js/commit/bc9a0ed6c1dd7aac280e0461823827d71ce0991f))
|
||||
* **parser:** Add `NotificationAction` node ([d36ddb8](https://github.com/LuanRT/YouTube.js/commit/d36ddb804a03b7d22cd20c2b846f86dd49689c0c))
|
||||
* **parser:** Add `PlayerOverlayVideoDetails` node ([dc2ed04](https://github.com/LuanRT/YouTube.js/commit/dc2ed046b8424134c675f30e7452fbd6bda0d228))
|
||||
* **parser:** Add `RunAttestationCommand` ([4729016](https://github.com/LuanRT/YouTube.js/commit/4729016fb98e7045ee4043857be7eef780c01e35))
|
||||
* **parser:** Add `ShowEngagementPanelEndpoint` ([ec85b0f](https://github.com/LuanRT/YouTube.js/commit/ec85b0f9421156c674c5c4d4a3a2e39eca7dbfbf))
|
||||
* **parser:** Add `SignalAction` node ([feeb21b](https://github.com/LuanRT/YouTube.js/commit/feeb21b3ebb83772fcceb1f6b0a90c17db613451))
|
||||
* **parser:** Add `UnifiedSharePanel` ([4a1397f](https://github.com/LuanRT/YouTube.js/commit/4a1397f1bcc2ad9964626b11c90831b90989b6af))
|
||||
* **parser:** Add `UpdateSubscribeButtonAction` ([fdb7540](https://github.com/LuanRT/YouTube.js/commit/fdb754043b809223ae8938fbbdd5780f585b697e))
|
||||
* **parser:** Add `VideoViewCount` node ([ad448f8](https://github.com/LuanRT/YouTube.js/commit/ad448f8106116e44e65eb5f5351c38fc4a31d809))
|
||||
* **parser:** Add optional image property to LockupMetadataView ([#806](https://github.com/LuanRT/YouTube.js/issues/806)) ([0914299](https://github.com/LuanRT/YouTube.js/commit/091429921530d65daf8f5b281c7c54117ee9a474))
|
||||
* **Parser:** add support for parsing subtitle for `RichShelf` ([#805](https://github.com/LuanRT/YouTube.js/issues/805)) ([038efff](https://github.com/LuanRT/YouTube.js/commit/038efff17f3b12d80619c8990ca880e919d2bfe5))
|
||||
* **Parser:** Add support for parsing subtitle for `Shelf` ([#792](https://github.com/LuanRT/YouTube.js/issues/792)) ([34ae38c](https://github.com/LuanRT/YouTube.js/commit/34ae38cbf4aa0a42a6024fa99eb0fe553639c8ce))
|
||||
* **SubscribeButton:** Parse more endpoints ([8bf9eb7](https://github.com/LuanRT/YouTube.js/commit/8bf9eb7044ad9a5de0892207690195f5646df288))
|
||||
* **VideoViewCount:** Add `extra_short_view_count` field ([d10fe68](https://github.com/LuanRT/YouTube.js/commit/d10fe6834a0d063d94b65289d54a52ed3398eff4))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ExpandableVideoDescriptionBody:** Parse attributed description ([360580e](https://github.com/LuanRT/YouTube.js/commit/360580ea6ea6fbdd7fbc0aa038d96b17de17e4f4))
|
||||
* **parser:** The AvatarView.image_processor property is optional ([#807](https://github.com/LuanRT/YouTube.js/issues/807)) ([4b178e4](https://github.com/LuanRT/YouTube.js/commit/4b178e4bfbc4cb003ed098afcd0370f98dbf834b))
|
||||
* **parser:** Update list of possible content_type in LockupView ([#808](https://github.com/LuanRT/YouTube.js/issues/808)) ([680da9f](https://github.com/LuanRT/YouTube.js/commit/680da9f501db02a9bed2fa8357df021e63024e5f))
|
||||
* **Player:** Add more ways to find the nsig algo ([acfb0c5](https://github.com/LuanRT/YouTube.js/commit/acfb0c58bec25782aa92963cd590a56967229d62))
|
||||
* **PlaylistAddToOption:** Use correct type for `contains_selected_videos` ([53d1c75](https://github.com/LuanRT/YouTube.js/commit/53d1c759b65ce9b6cb9f236c02828077d4f506cc))
|
||||
* **ReelPlayerOverlay:** Update `subscribe_button_renderer` type to include SubscribeButton ([daa5a29](https://github.com/LuanRT/YouTube.js/commit/daa5a2982b24f107681050f2b534986b4d374c5d))
|
||||
* **SignalAction:** Rename `action` to `signal` ([8ab760e](https://github.com/LuanRT/YouTube.js/commit/8ab760ea2e268a4f108b2b4a8d46193f5450bf4c))
|
||||
* **SubscribeButton:** Parse endpoints using `NavigationEndpoint` ([126a66f](https://github.com/LuanRT/YouTube.js/commit/126a66f317da0c6b486202ad04483b9799bfaf4c))
|
||||
* **UnifiedSharePanel:** Check if `thirdPartyNetworkSection` exists ([d3f6af0](https://github.com/LuanRT/YouTube.js/commit/d3f6af07754f75c578dc11e8ea4815ad91f0cac4))
|
||||
* **VideoAttributeView:** Parse `secondarySubtitle` only if exists ([0a99342](https://github.com/LuanRT/YouTube.js/commit/0a99342ccbd6f8b1c611ef6b157a599ff5ae2247))
|
||||
* **VideoCard:** fix parsing author, view count and published date ([#791](https://github.com/LuanRT/YouTube.js/issues/791)) ([a4394db](https://github.com/LuanRT/YouTube.js/commit/a4394dbb82203eeabcb8684ca9105f83e3b0fb1b))
|
||||
* **VideoSecondaryInfo:** Parse `show_more_text` and `show_less_text` correctly ([790f817](https://github.com/LuanRT/YouTube.js/commit/790f8172fc2bbdbf17f16b04a2676fd9088d8878))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* **parser:** Remove getters that have been deprecated for a long time ([#815](https://github.com/LuanRT/YouTube.js/issues/815)) ([9cf0d3f](https://github.com/LuanRT/YouTube.js/commit/9cf0d3f3b3099af3dd59bc4ca99fefe217a91020))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* **parser:** Implement endpoint/command parsers ([#812](https://github.com/LuanRT/YouTube.js/issues/812)) ([7397aa3](https://github.com/LuanRT/YouTube.js/commit/7397aa3f6425cb2f3dcc625502fd1ce5a5db6db3))
|
||||
* **parser:** Remove old comment node ([2f087d4](https://github.com/LuanRT/YouTube.js/commit/2f087d47a0199870b313717f3d01598f8168be4b))
|
||||
|
||||
## [11.0.1](https://github.com/LuanRT/YouTube.js/compare/v11.0.0...v11.0.1) (2024-10-28)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **VideoInfo:** Fix like count being undefined ([#787](https://github.com/LuanRT/YouTube.js/issues/787)) ([182bf42](https://github.com/LuanRT/YouTube.js/commit/182bf42d3cdf5148c667e958cd4d4eaa091a6d68))
|
||||
|
||||
## [11.0.0](https://github.com/LuanRT/YouTube.js/compare/v10.5.0...v11.0.0) (2024-10-28)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* Deprecate `account#getAnalytics`, `account#getTimeWatched` and `account#getAnalytics`
|
||||
|
||||
### Features
|
||||
|
||||
* Add `TVHTML5` InnerTube client ([b45609a](https://github.com/LuanRT/YouTube.js/commit/b45609aa0fcd801c379ffdafd04c6c3c2ed3deba))
|
||||
* Add `WEB_CREATOR` client ([#757](https://github.com/LuanRT/YouTube.js/issues/757)) ([dd7f5cf](https://github.com/LuanRT/YouTube.js/commit/dd7f5cf778b8acca95cc6d9c6e379e3e87e0ee8a))
|
||||
* **history:** Add ability to remove videos from watch history ([#706](https://github.com/LuanRT/YouTube.js/issues/706)) ([22dd71d](https://github.com/LuanRT/YouTube.js/commit/22dd71d7dad5029f2f7ed0deafbae3386ebe298d))
|
||||
* **ProtoUtils:** Add support for creating NextParams ([#762](https://github.com/LuanRT/YouTube.js/issues/762)) ([910c979](https://github.com/LuanRT/YouTube.js/commit/910c9791e7aed9e28cd42f3bcf28b8b8d89edb21))
|
||||
* Support auto-dubbed audio tracks ([#786](https://github.com/LuanRT/YouTube.js/issues/786)) ([a4ef224](https://github.com/LuanRT/YouTube.js/commit/a4ef2249ffbe14f5d5fa702b269dd0f61e14ada8))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix deno usage of protobuf and jintr ([#776](https://github.com/LuanRT/YouTube.js/issues/776)) ([02513b7](https://github.com/LuanRT/YouTube.js/commit/02513b76ed66041044e80f8749df7f29379c424e))
|
||||
* Include jinter in the cjs build ([305a398](https://github.com/LuanRT/YouTube.js/commit/305a398158a6cac82e6ef288fed4bf1661c89d52))
|
||||
* **InteractionManager:** Use `WEB` for all actions ([d9ac99d](https://github.com/LuanRT/YouTube.js/commit/d9ac99d3324c2987aebb6b8e40317780478b7c19))
|
||||
* **LiveChat#sendMessage:** Switch to `WEB` client ([bb3f114](https://github.com/LuanRT/YouTube.js/commit/bb3f114aa34dd50602da794dcb3aa3f28a5a2ed9))
|
||||
* **package:** Use `jsr:@luanrt/jintr` on Deno ([d9ec23c](https://github.com/LuanRT/YouTube.js/commit/d9ec23c73ca4f370df45926206a2ff070bb6552f))
|
||||
* **parser:** Fix ShortsLockupView assuming that the primary text always exists ([#775](https://github.com/LuanRT/YouTube.js/issues/775)) ([43cef9e](https://github.com/LuanRT/YouTube.js/commit/43cef9e67e9defbfc498b6381ae93f967622f83b))
|
||||
* **toDash:** Fix dash.js 4.x compatibility ([#765](https://github.com/LuanRT/YouTube.js/issues/765)) ([5ff30e1](https://github.com/LuanRT/YouTube.js/commit/5ff30e12ded29afff5a758cbe96ac3418e6d20aa))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* Deprecate `account#getAnalytics`, `account#getTimeWatched` and `account#getAnalytics` ([0081e11](https://github.com/LuanRT/YouTube.js/commit/0081e11ebcff8c719902d93edf8760d3e8702e00))
|
||||
|
||||
## [10.5.0](https://github.com/LuanRT/YouTube.js/compare/v10.4.0...v10.5.0) (2024-09-19)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Add `WEB_EMBEDDED` client ([#756](https://github.com/LuanRT/YouTube.js/issues/756)) ([eaf218f](https://github.com/LuanRT/YouTube.js/commit/eaf218f5da758fc37d71f7d00ba9e42533194f8a))
|
||||
* extend music getInfo to allow MusicResponsiveListItem and Nav Endpoints ([#751](https://github.com/LuanRT/YouTube.js/issues/751)) ([5db449c](https://github.com/LuanRT/YouTube.js/commit/5db449cc6d86b2df1e92302ec5c74e6d44d822fb))
|
||||
* **parser:** Add `ShortsLockupView` and `BadgeView` nodes ([#746](https://github.com/LuanRT/YouTube.js/issues/746)) ([e1e76ee](https://github.com/LuanRT/YouTube.js/commit/e1e76ee61629f84f4b7de9579ae9f6d6bf97bab8))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ItemSection:** FeedFilterChipBar parse error ([#741](https://github.com/LuanRT/YouTube.js/issues/741)) ([bf6cc00](https://github.com/LuanRT/YouTube.js/commit/bf6cc006997675010db61fcd776244b234be5611))
|
||||
* **parser:** The icon_name property does not always exist in ThumbnailBadgeView ([#745](https://github.com/LuanRT/YouTube.js/issues/745)) ([094a96f](https://github.com/LuanRT/YouTube.js/commit/094a96fb5d8170d1f727ef6da84b258596b1a09a))
|
||||
* **Session:** Set default values for `hl` and `gl` in context builder ([7a39326](https://github.com/LuanRT/YouTube.js/commit/7a3932682112a0d76c04f65ae35445fc35403a00))
|
||||
|
||||
## [10.4.0](https://github.com/LuanRT/YouTube.js/compare/v10.3.0...v10.4.0) (2024-08-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **parser:** Add `VideoAttributesSectionView` node ([#732](https://github.com/LuanRT/YouTube.js/issues/732)) ([4b60b97](https://github.com/LuanRT/YouTube.js/commit/4b60b97132b0ee42b41838f3336c582a7f7f7aec))
|
||||
* **Player:** Add support for Proof of Identity tokens ([#708](https://github.com/LuanRT/YouTube.js/issues/708)) ([c9f0ddd](https://github.com/LuanRT/YouTube.js/commit/c9f0ddd573de297c0b384e422e6c1737454926e2))
|
||||
* **Utils:** Add `UMP` parser ([261f2ac](https://github.com/LuanRT/YouTube.js/commit/261f2ac12b6a9a5bd5f7a43557018de333f7bec3))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **examples:** Use BgUtils to generate pot [skip ci] ([d89909a](https://github.com/LuanRT/YouTube.js/commit/d89909a19a1486bee7e3275014725b4e3dc2cbe2))
|
||||
* **FormatOptions:** `client` missing some values ([fcd00b0](https://github.com/LuanRT/YouTube.js/commit/fcd00b0fb0f88a16c27da1ed89e9a2c4887e5c52))
|
||||
* **PlayerEndpoint:** Don't set `undefined` fields ([0e91a08](https://github.com/LuanRT/YouTube.js/commit/0e91a08ae2194a07defc4b1e12ff3edbe13b72df))
|
||||
* **Search:** Fix it occasionally returning only a small number of results ([#720](https://github.com/LuanRT/YouTube.js/issues/720)) ([2c0bb23](https://github.com/LuanRT/YouTube.js/commit/2c0bb237e1d0eb160dc3f879f5cab2022d9b5b04))
|
||||
* **Session:** `PoToken` not being set correctly ([#729](https://github.com/LuanRT/YouTube.js/issues/729)) ([bb6e647](https://github.com/LuanRT/YouTube.js/commit/bb6e647b8c88753669acde43d0d648aaf11caba6))
|
||||
* **Session:** Fix remote visitor data not gettting used ([#731](https://github.com/LuanRT/YouTube.js/issues/731)) ([7afc3da](https://github.com/LuanRT/YouTube.js/commit/7afc3da80ee3b5aa6edd2a899be82c1a21e03556))
|
||||
* **Session:** Visitor data not being used properly ([f1973c1](https://github.com/LuanRT/YouTube.js/commit/f1973c11d9a492898b5e72b1f2b79291b674e229))
|
||||
* **ThumbnailOverlayResumePlayback:** Update `percent_duration_watched` type ([#737](https://github.com/LuanRT/YouTube.js/issues/737)) ([f9ccba4](https://github.com/LuanRT/YouTube.js/commit/f9ccba4af5268d67d8610a1a5d623964f56d170d))
|
||||
|
||||
## [10.3.0](https://github.com/LuanRT/YouTube.js/compare/v10.2.0...v10.3.0) (2024-08-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **parser:** Add `EomSettingsDisclaimer` node ([#703](https://github.com/LuanRT/YouTube.js/issues/703)) ([a9bf225](https://github.com/LuanRT/YouTube.js/commit/a9bf225a62108e47a50316235a83a814c682d745))
|
||||
* **PlaylistManager:** Add ability to remove videos by set ID ([#715](https://github.com/LuanRT/YouTube.js/issues/715)) ([d85fbc5](https://github.com/LuanRT/YouTube.js/commit/d85fbc56cf0fd7367b182ae36e65c1701bc5e62d))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **HTTPClient:** Adjust more context fields for the iOS client ([#705](https://github.com/LuanRT/YouTube.js/issues/705)) ([3153375](https://github.com/LuanRT/YouTube.js/commit/3153375bcaa6c03afba9da8474e6a9d37471ed29))
|
||||
|
||||
## [10.2.0](https://github.com/LuanRT/YouTube.js/compare/v10.1.0...v10.2.0) (2024-07-25)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Format:** Add `is_secondary` for detecting secondary audio tracks ([#697](https://github.com/LuanRT/YouTube.js/issues/697)) ([a352dde](https://github.com/LuanRT/YouTube.js/commit/a352ddeb9db001e99f49025048ad0942d84f1b3e))
|
||||
* **parser:** add classdata to unhandled parse errors ([#691](https://github.com/LuanRT/YouTube.js/issues/691)) ([090539b](https://github.com/LuanRT/YouTube.js/commit/090539b28f9bc3387d01e37325ba5741b33b1765))
|
||||
* **proto:** Add `comment_id` to commentSectionParams ([#693](https://github.com/LuanRT/YouTube.js/issues/693)) ([a5f6209](https://github.com/LuanRT/YouTube.js/commit/a5f62093a18705fc822abd86beaa81788b6535ce))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **parser:** ignore MiniGameCardView node ([#692](https://github.com/LuanRT/YouTube.js/issues/692)) ([6d0bc89](https://github.com/LuanRT/YouTube.js/commit/6d0bc89be18f27a8ce74517f5cab5020d6790328))
|
||||
* **parser:** ThumbnailView background color ([#686](https://github.com/LuanRT/YouTube.js/issues/686)) ([0f8f92a](https://github.com/LuanRT/YouTube.js/commit/0f8f92a28a5b6143e890626b22ce570730a0cf09))
|
||||
* **Player:** Bump cache version ([#702](https://github.com/LuanRT/YouTube.js/issues/702)) ([6765f4e](https://github.com/LuanRT/YouTube.js/commit/6765f4e0d791c657fc7411e9cdd2c0f9284e9982))
|
||||
* **Player:** Fix extracting the n-token decipher algorithm again ([#701](https://github.com/LuanRT/YouTube.js/issues/701)) ([3048f70](https://github.com/LuanRT/YouTube.js/commit/3048f70f60756884bd7b591d770f7b6343cfa259))
|
||||
|
||||
## [10.1.0](https://github.com/LuanRT/YouTube.js/compare/v10.0.0...v10.1.0) (2024-07-10)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Session:** Add `configInfo` to InnerTube context ([5a8fd3a](https://github.com/LuanRT/YouTube.js/commit/5a8fd3ad37bce1decad28ec3727453ddd430a561))
|
||||
* **toDash:** Add option to include WebVTT or TTML captions ([#673](https://github.com/LuanRT/YouTube.js/issues/673)) ([bd9f6ac](https://github.com/LuanRT/YouTube.js/commit/bd9f6ac64ca9ba96e856aabe5fcc175fd9c294dc))
|
||||
* **toDash:** Add the "dub" role to translated captions ([#677](https://github.com/LuanRT/YouTube.js/issues/677)) ([858cdd1](https://github.com/LuanRT/YouTube.js/commit/858cdd197cb2bb1e1d7a7285966cb56043ad8961))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **FormatUtils:** Throw an error if download requests fails ([a19511d](https://github.com/LuanRT/YouTube.js/commit/a19511de24bb82007aab072844efe64bbb8698da))
|
||||
* **InfoPanelContent:** Update InfoPanelContent node to also support `paragraphs` ([4cbaa79](https://github.com/LuanRT/YouTube.js/commit/4cbaa7983f35a82b9907197769672ac3b300bfbe))
|
||||
* **Player:** Fix extracting the n-token decipher algorithm ([#682](https://github.com/LuanRT/YouTube.js/issues/682)) ([142a7d0](https://github.com/LuanRT/YouTube.js/commit/142a7d042885188605bdc0655d3733502d1e20fa))
|
||||
* **proto:** Update `Context` message ([62ac2f6](https://github.com/LuanRT/YouTube.js/commit/62ac2f6f32d35fec3c31b5f5d556bd4569fa49f9)), closes [#681](https://github.com/LuanRT/YouTube.js/issues/681)
|
||||
* **Session:** Round UTC offset minutes ([84f90aa](https://github.com/LuanRT/YouTube.js/commit/84f90aaf2908ecacb9dfb6ce5497c4c4d14a72c3))
|
||||
* **toDash:** Fix image representations not being spec compliant ([#672](https://github.com/LuanRT/YouTube.js/issues/672)) ([e5aab9a](https://github.com/LuanRT/YouTube.js/commit/e5aab9a9b35f0752cd5ca50bfa25936dce4718c6))
|
||||
* **YTMusic:** Add support for new header layouts ([14c3a06](https://github.com/LuanRT/YouTube.js/commit/14c3a06d402989e98a9d32c79b2dc26f74fb0219))
|
||||
|
||||
## [10.0.0](https://github.com/LuanRT/YouTube.js/compare/v9.4.0...v10.0.0) (2024-06-09)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **Innertube#getPlaylists:** Return a `Feed` instance instead of items
|
||||
* **OAuth2:** Rewrite auth module ([#661](https://github.com/LuanRT/YouTube.js/issues/661))
|
||||
|
||||
### Features
|
||||
|
||||
* **Format:** Add `is_drc` ([#656](https://github.com/LuanRT/YouTube.js/issues/656)) ([6bb2086](https://github.com/LuanRT/YouTube.js/commit/6bb2086875d089f47c5f86ce94db9e32cb051319))
|
||||
* **Platform:** Add support for `react-native` platform ([#593](https://github.com/LuanRT/YouTube.js/issues/593)) ([2980a60](https://github.com/LuanRT/YouTube.js/commit/2980a608b67f18416d7f73f1bdbcf4b897307b26))
|
||||
* **Session:** Add `enable_session_cache` option ([#664](https://github.com/LuanRT/YouTube.js/issues/664)) ([7953296](https://github.com/LuanRT/YouTube.js/commit/795329658033652625d2d61b275ccf703573a437))
|
||||
* **toDash:** Add support for stable volume/DRC ([#662](https://github.com/LuanRT/YouTube.js/issues/662)) ([031ffb6](https://github.com/LuanRT/YouTube.js/commit/031ffb696e3b7e160779e8b55a49b0cfa9f95620))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ButtonView:** Rename `type` property to `button_type` ([15f3b5f](https://github.com/LuanRT/YouTube.js/commit/15f3b5fdba17f11cddada168de268546875e48f9))
|
||||
* **Cache:** Use `TextEncoder` to encode compressed data ([384b80e](https://github.com/LuanRT/YouTube.js/commit/384b80ee41d7547a00d8dc17c50c8542629264b5))
|
||||
* **FlexibleActionsView:** Update actions array type to include `ToggleButtonView` ([040a091](https://github.com/LuanRT/YouTube.js/commit/040a09163903b914f546d5083dbfdeab7175b24c))
|
||||
* **InfoPanelContainer:** Use new attributed text prop ([5cdb9e1](https://github.com/LuanRT/YouTube.js/commit/5cdb9e1e2fa4ad5abdb3659bb35d0b3edc60123c))
|
||||
* **ItemSection:** Fix `target_id` not being set because of a typo. ([#655](https://github.com/LuanRT/YouTube.js/issues/655)) ([8106654](https://github.com/LuanRT/YouTube.js/commit/810665407e91b2890a8e555fd759d67ccd800379))
|
||||
* **MusicResponsiveHeader:** Add `Text` import ([583fd9f](https://github.com/LuanRT/YouTube.js/commit/583fd9f8d70735d071b34bd1d68faa62eeac593a))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* **general:** Add session cache and LZW compression ([#663](https://github.com/LuanRT/YouTube.js/issues/663)) ([cf29664](https://github.com/LuanRT/YouTube.js/commit/cf29664d376ff792602400ef9a4ac301c676735c))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* **Innertube#getPlaylists:** Return a `Feed` instance instead of items ([7660450](https://github.com/LuanRT/YouTube.js/commit/766045049d7154866e6fe32f6d965025d736d77d))
|
||||
* **OAuth2:** Rewrite auth module ([#661](https://github.com/LuanRT/YouTube.js/issues/661)) ([b6ce5f9](https://github.com/LuanRT/YouTube.js/commit/b6ce5f903fa2285cb381d73aedf02cc5e2712478))
|
||||
|
||||
## [9.4.0](https://github.com/LuanRT/YouTube.js/compare/v9.3.0...v9.4.0) (2024-04-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Format:** Add `projection_type` and `stereo_layout` ([#643](https://github.com/LuanRT/YouTube.js/issues/643)) ([064436c](https://github.com/LuanRT/YouTube.js/commit/064436cef30e892d8f569d4f7b146557fd72b09f))
|
||||
* **Format:** Add `spatial_audio_type` ([#647](https://github.com/LuanRT/YouTube.js/issues/647)) ([0ba8c54](https://github.com/LuanRT/YouTube.js/commit/0ba8c54257b068d7e4518c982396acb42f1dd41d))
|
||||
* **Parser:** Add `MusicResponsiveHeader` node ([ea82bea](https://github.com/LuanRT/YouTube.js/commit/ea82beaa10f6c877d6dd3102e10f6ae382560e0f))
|
||||
|
||||
## [9.3.0](https://github.com/LuanRT/YouTube.js/compare/v9.2.1...v9.3.0) (2024-04-11)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **CommentView:** Implement comment interaction methods ([1c08bfe](https://github.com/LuanRT/YouTube.js/commit/1c08bfe113804c69fbc4e49b42442d9a63d73be6))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **CommentThread:** Replies not being parsed correctly ([66e34f9](https://github.com/LuanRT/YouTube.js/commit/66e34f9388429a2088d5c5835d19eebdc881c957))
|
||||
|
||||
## [9.2.1](https://github.com/LuanRT/YouTube.js/compare/v9.2.0...v9.2.1) (2024-04-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **toDash:** Add missing transfer characteristics for h264 streams ([#631](https://github.com/LuanRT/YouTube.js/issues/631)) ([0107049](https://github.com/LuanRT/YouTube.js/commit/010704929fa4b737f68a5a1f10bf0b166cfbf905))
|
||||
|
||||
## [9.2.0](https://github.com/LuanRT/YouTube.js/compare/v9.1.0...v9.2.0) (2024-03-31)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support of cloudflare workers ([#596](https://github.com/LuanRT/YouTube.js/issues/596)) ([2029aec](https://github.com/LuanRT/YouTube.js/commit/2029aec90de3c0fdb022094d7b704a2feed4133b))
|
||||
* **parser:** Support CommentView nodes ([#614](https://github.com/LuanRT/YouTube.js/issues/614)) ([900f557](https://github.com/LuanRT/YouTube.js/commit/900f5572021d348e7012909f2080e52eac06adae))
|
||||
* **parser:** Support LockupView and it's child nodes ([#609](https://github.com/LuanRT/YouTube.js/issues/609)) ([7ca2a0c](https://github.com/LuanRT/YouTube.js/commit/7ca2a0c3e43ebd4b9443e69b7432f302b09e9c7a))
|
||||
* **Text:** Support formatting and emojis in `fromAttributed` ([#615](https://github.com/LuanRT/YouTube.js/issues/615)) ([e6f1f07](https://github.com/LuanRT/YouTube.js/commit/e6f1f078a828f8ea5db1fe7aec9f677bc53694e3))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Cache:** handle the value read from the db correctly according to its type ([#620](https://github.com/LuanRT/YouTube.js/issues/620)) ([3170659](https://github.com/LuanRT/YouTube.js/commit/317065988007c860bf6173b0ac3c3d685ed81d20))
|
||||
* **PlayerEndpoint:** Workaround for "The following content is not available on this app" (Android) ([#624](https://github.com/LuanRT/YouTube.js/issues/624)) ([d589365](https://github.com/LuanRT/YouTube.js/commit/d589365ea27f540ff36e33a65362c932cd28c274))
|
||||
|
||||
## [9.1.0](https://github.com/LuanRT/YouTube.js/compare/v9.0.2...v9.1.0) (2024-02-23)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **Format:** Support caption tracks in adaptive formats ([#598](https://github.com/LuanRT/YouTube.js/issues/598)) ([bff65f8](https://github.com/LuanRT/YouTube.js/commit/bff65f8889c32813ec05bd187f3a4386fc6127c0))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Playlist:** `items` getter failing if a playlist contains Shorts ([89fa3b2](https://github.com/LuanRT/YouTube.js/commit/89fa3b27a839d98aaf8bd70dd75220ee309c2bea))
|
||||
* **Session:** Don't try to extract api version from service worker ([2068dfb](https://github.com/LuanRT/YouTube.js/commit/2068dfb73eefc0e40157421d4e5b4096c0c8429c))
|
||||
|
||||
## [9.0.2](https://github.com/LuanRT/YouTube.js/compare/v9.0.1...v9.0.2) (2024-01-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **VideoInfo:** Fix error because of typo in getWatchNextContinuation ([#590](https://github.com/LuanRT/YouTube.js/issues/590)) ([b21eb9f](https://github.com/LuanRT/YouTube.js/commit/b21eb9f33d956e130bac98712384125ae04ace47))
|
||||
|
||||
## [9.0.1](https://github.com/LuanRT/YouTube.js/compare/v9.0.0...v9.0.1) (2024-01-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **build:** Circular imports causing issues with webpack ([81dd5d3](https://github.com/LuanRT/YouTube.js/commit/81dd5d3288771132e7fb904b620e58277f639ccc))
|
||||
|
||||
## [9.0.0](https://github.com/LuanRT/YouTube.js/compare/v8.2.0...v9.0.0) (2024-01-25)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **toDash:** Add support for generating manifests for Post Live DVR videos ([#580](https://github.com/LuanRT/YouTube.js/issues/580))
|
||||
|
||||
### Features
|
||||
|
||||
* **Channel:** Support getting about with PageHeader ([#581](https://github.com/LuanRT/YouTube.js/issues/581)) ([2e710dc](https://github.com/LuanRT/YouTube.js/commit/2e710dc9f7e206627f189df19be17009b270bc8b))
|
||||
* **Channel:** Support PageHeader being used on user channels ([#577](https://github.com/LuanRT/YouTube.js/issues/577)) ([6082b4a](https://github.com/LuanRT/YouTube.js/commit/6082b4a52ee07a622735e6e9128a0531a5ae3bfb))
|
||||
* **Format:** Add `max_dvr_duration_sec` and `target_duration_dec` ([#570](https://github.com/LuanRT/YouTube.js/issues/570)) ([586bb5f](https://github.com/LuanRT/YouTube.js/commit/586bb5f1398d68bfabfb9449f527e53c398c3767))
|
||||
* **parser:** Add `ImageBannerView` ([#583](https://github.com/LuanRT/YouTube.js/issues/583)) ([2073aa9](https://github.com/LuanRT/YouTube.js/commit/2073aa910a0e441a8ec1a9ba0434051ec0e2e6a9))
|
||||
* **toDash:** Add support for generating manifests for Post Live DVR videos ([#580](https://github.com/LuanRT/YouTube.js/issues/580)) ([6dd03e1](https://github.com/LuanRT/YouTube.js/commit/6dd03e1658036c2fba0696de81033b5e16abb379))
|
||||
* **VideoDetails:** Add `is_live_dvr_enabled`, `is_low_latency_live_stream` and `live_chunk_readahead` ([#569](https://github.com/LuanRT/YouTube.js/issues/569)) ([254f779](https://github.com/LuanRT/YouTube.js/commit/254f77944fcd398cc19cb62b82b0fdfbe6ed70ed))
|
||||
* **VideoInfo:** Add live stream `end_timestamp` ([#571](https://github.com/LuanRT/YouTube.js/issues/571)) ([562e6a2](https://github.com/LuanRT/YouTube.js/commit/562e6a20f06ef5302af427861355215630d91edc))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **DecoratedAvatarView:** Fix parsing and optional properties ([#584](https://github.com/LuanRT/YouTube.js/issues/584)) ([fed3512](https://github.com/LuanRT/YouTube.js/commit/fed3512461277b7fc41e26c770e2bd3d4a7d5eb5))
|
||||
* **PlayerCaptionTracklist:** Fix `captions_tracks[].kind` type ([#586](https://github.com/LuanRT/YouTube.js/issues/586)) ([7fbc37f](https://github.com/LuanRT/YouTube.js/commit/7fbc37f9d1c109e448085d5736326dce82ca2c9a))
|
||||
* **proto:** Fix visitor data base64url decoding ([#576](https://github.com/LuanRT/YouTube.js/issues/576)) ([3980f97](https://github.com/LuanRT/YouTube.js/commit/3980f97b8fca05f95cda1ab347db9402c55b8b3c))
|
||||
* **toDash:** Add missing transfer characteristics for h264 streams ([#573](https://github.com/LuanRT/YouTube.js/issues/573)) ([59f4cfb](https://github.com/LuanRT/YouTube.js/commit/59f4cfb4db6184d47f0a6634832055e9ce71f644))
|
||||
|
||||
## [8.2.0](https://github.com/LuanRT/YouTube.js/compare/v8.1.0...v8.2.0) (2024-01-08)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **OAuth:** Allow passing custom client identity ([#566](https://github.com/LuanRT/YouTube.js/issues/566)) ([7ffd0fc](https://github.com/LuanRT/YouTube.js/commit/7ffd0fc25edef99a938e7986b1c74af05b8f954e))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Parser:** Add `SortFilterHeader` ([#563](https://github.com/LuanRT/YouTube.js/issues/563)) ([8f07e49](https://github.com/LuanRT/YouTube.js/commit/8f07e49512c59eb72debc80a9d9623ca62330858))
|
||||
|
||||
## [8.1.0](https://github.com/LuanRT/YouTube.js/compare/v8.0.0...v8.1.0) (2023-12-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **generator:** add support for arrays ([#556](https://github.com/LuanRT/YouTube.js/issues/556)) ([e4f2a00](https://github.com/LuanRT/YouTube.js/commit/e4f2a00c843fe453cc7904f79e35597cc6e2e619))
|
||||
* **generator:** Add support for generating view models ([#550](https://github.com/LuanRT/YouTube.js/issues/550)) ([f938c34](https://github.com/LuanRT/YouTube.js/commit/f938c34ee81186774096b3d24d06250211ce2851))
|
||||
* **MediaInfo:** Parse player config ([5c9c231](https://github.com/LuanRT/YouTube.js/commit/5c9c231cc2f17c49da03daa8262043b985320e9a))
|
||||
* **parser:** Support new like and dislike nodes ([#557](https://github.com/LuanRT/YouTube.js/issues/557)) ([fcd3044](https://github.com/LuanRT/YouTube.js/commit/fcd30449821763e9b5b57718dd02eff15d964d2b))
|
||||
* **Thumbnail:** Support `sources` in `Thumbnail.fromResponse` ([#552](https://github.com/LuanRT/YouTube.js/issues/552)) ([48a5d4e](https://github.com/LuanRT/YouTube.js/commit/48a5d4e7c37b76f8980f9b68e8815aef7a6d91ab))
|
||||
* **YouTube:** Add FEchannels feed ([#560](https://github.com/LuanRT/YouTube.js/issues/560)) ([14578ac](https://github.com/LuanRT/YouTube.js/commit/14578ac96af4b8bee652cce87d043173de964113))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Format:** Extract correct audio language from captions ([#553](https://github.com/LuanRT/YouTube.js/issues/553)) ([5c83e99](https://github.com/LuanRT/YouTube.js/commit/5c83e999dfa00386d18369f42aa9aa10123ba578))
|
||||
* **generator:** Output Parser.parseItem() calls with one valid type, without the array ([#551](https://github.com/LuanRT/YouTube.js/issues/551)) ([bd487f8](https://github.com/LuanRT/YouTube.js/commit/bd487f8befe7f62022c61ff3aae7f487104e81eb))
|
||||
* **VideoInfo:** Restore `like`, `dislike` & `removeRating` methods ([9c503f4](https://github.com/LuanRT/YouTube.js/commit/9c503f4fa8a750558cedbeca974faf36e304147e))
|
||||
|
||||
## [8.0.0](https://github.com/LuanRT/YouTube.js/compare/v7.0.0...v8.0.0) (2023-12-01)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **Library:** Add support for the new layout and remove profile & stats info
|
||||
* **Channel:** YouTube removed the "Channels" tab on channels, so this pull request removes the `getChannels()` method and `has_channels` getter from the `YT.Channel` class, as they are no longer useful. The featured channels are now shown on the channel home tab. To get them you can use the `channels` getter on the home tab of the channel. Please note that some channel owners might not have added that section to their home page yet, so you won't be able to get the featured channels for those channels. The home tab is the default tab that is returned when you call `InnerTube#getChannel()`, you can also access that tab by calling `getHome()` on a `YT.Channel` object.
|
||||
|
||||
### Features
|
||||
|
||||
* add `FeedNudge` ([#533](https://github.com/LuanRT/YouTube.js/issues/533)) ([e021395](https://github.com/LuanRT/YouTube.js/commit/e02139532b2c07aaf72dd1bd8610f63b6780001d))
|
||||
* add `VideoAttributeView` ([#531](https://github.com/LuanRT/YouTube.js/issues/531)) ([ff4ab16](https://github.com/LuanRT/YouTube.js/commit/ff4ab1680e110fc32e09d09215fd3e05dbde2c85))
|
||||
* Add Shorts endpoint ([#512](https://github.com/LuanRT/YouTube.js/issues/512)) ([a32aa8c](https://github.com/LuanRT/YouTube.js/commit/a32aa8c633b6f3c3bb0695ad1878cbb313867346))
|
||||
* **Channel:** Support new about popup ([#537](https://github.com/LuanRT/YouTube.js/issues/537)) ([c66eb1f](https://github.com/LuanRT/YouTube.js/commit/c66eb1fecf0e66d9eca841be0ca56b39ad4466eb))
|
||||
* **parser:** Add `ChannelOwnerEmptyState` ([#541](https://github.com/LuanRT/YouTube.js/issues/541)) ([b60930a](https://github.com/LuanRT/YouTube.js/commit/b60930a0c1ce419dddb753846c84d4e46ddf04e1))
|
||||
* **Parser:** Add `ClipSection` ([#532](https://github.com/LuanRT/YouTube.js/issues/532)) ([9007b65](https://github.com/LuanRT/YouTube.js/commit/9007b652375e1ca3c3844bdf091fe3670f98dc2c))
|
||||
* **toDash:** Add `contentType` to audio and video adaption sets ([#539](https://github.com/LuanRT/YouTube.js/issues/539)) ([4806fc6](https://github.com/LuanRT/YouTube.js/commit/4806fc6c112cb3cf0584f7d253f3c4aeaffa9927))
|
||||
* Use `overrides` instead of `--legacy-peer-deps` ([#529](https://github.com/LuanRT/YouTube.js/issues/529)) ([db7f620](https://github.com/LuanRT/YouTube.js/commit/db7f6209b2329bf18b8b35aababfdb9b750c3b0f))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **Channel:** Remove `getChannels()` and `has_channels`, as YouTube removed the tab ([#542](https://github.com/LuanRT/YouTube.js/issues/542)) ([6a5a579](https://github.com/LuanRT/YouTube.js/commit/6a5a579e3947109af0e7c2a318aef40edb8484f8))
|
||||
* **Library:** Add support for the new layout and remove profile & stats info ([4261915](https://github.com/LuanRT/YouTube.js/commit/4261915fd4aa84f7619a45d678910be0ae30e13e))
|
||||
* **StructuredDescriptionContent:** Add `ReelShelf` to list of possible nodes ([f74ed5a](https://github.com/LuanRT/YouTube.js/commit/f74ed5a1cf352a7b57fa84b9373f9ed9ba1911fc))
|
||||
* **VideoAttributeView:** Fix `image` and `overflow_menu_on_tap` props ([5ae15be](https://github.com/LuanRT/YouTube.js/commit/5ae15be63dee2a2393a1aa2a308ca5378140760a))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* Use named Parser import, to allow bundlers to create direct function references ([#535](https://github.com/LuanRT/YouTube.js/issues/535)) ([95ed602](https://github.com/LuanRT/YouTube.js/commit/95ed60207a1219f4891f28d2b2b90cf816f11831))
|
||||
|
||||
## [7.0.0](https://github.com/LuanRT/YouTube.js/compare/v6.4.1...v7.0.0) (2023-10-28)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **music#getSearchSuggestions:** Return array of `SearchSuggestionsSection` instead of a single node
|
||||
|
||||
### Features
|
||||
|
||||
* **Kids:** Add `blockChannel` command to easily block channels ([#503](https://github.com/LuanRT/YouTube.js/issues/503)) ([9ab528e](https://github.com/LuanRT/YouTube.js/commit/9ab528ec823dcd527a97150009eed632c6d3eb6a))
|
||||
* **music#getSearchSuggestions:** Return array of `SearchSuggestionsSection` instead of a single node ([beaa28f](https://github.com/LuanRT/YouTube.js/commit/beaa28f4c68de8366caa84ce5a026bf9e12e1b9d))
|
||||
* **parser:** Add `PlayerOverflow` and `PlayerControlsOverlay` ([a45273f](https://github.com/LuanRT/YouTube.js/commit/a45273fec498df87eecd364ffb708c9f787793d5))
|
||||
* **UpdateViewerShipAction:** Add `original_view_count` and `unlabeled_view_count_value` ([#527](https://github.com/LuanRT/YouTube.js/issues/527)) ([bc97e07](https://github.com/LuanRT/YouTube.js/commit/bc97e07ac6d1cdc45194e214c6001cf92190e1d5))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **build:** Inline package.json import to avoid runtime erros ([#509](https://github.com/LuanRT/YouTube.js/issues/509)) ([4c0de19](https://github.com/LuanRT/YouTube.js/commit/4c0de199e85dd5cc8b3719920b24dec9613acaab))
|
||||
|
||||
## [6.4.1](https://github.com/LuanRT/YouTube.js/compare/v6.4.0...v6.4.1) (2023-10-02)
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ This page lists the collaborators who have contributed to the development and su
|
||||
Owner and maintainer.
|
||||
|
||||
## [Wykerd](https://github.com/wykerd/)
|
||||
Initial parser implementation, several bug fixes, major refactorings and general maintenance.
|
||||
Initial parser implementation, several bug fixes, major refactorings, and general maintenance.
|
||||
|
||||
## [MasterOfBob777](https://github.com/MasterOfBob777)
|
||||
Bug fixes and TypeScript support.
|
||||
@@ -17,4 +17,6 @@ Bug fixes and TypeScript support.
|
||||
Major refactorings, improved YouTube Music support, and bug fixes.
|
||||
|
||||
## [Absidue](https://github.com/absidue)
|
||||
Several bug fixes, new features & improved MPD support.
|
||||
[](https://github.com/sponsors/absidue)
|
||||
|
||||
Several bug fixes, new features & improved MPD support.
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
Welcome to YouTube.js! We're thrilled to have you interested in contributing to our project. As a community-driven project, we believe in the power of collaboration and look forward to working with you. To get started, please follow our guidelines:
|
||||
|
||||
## Issues
|
||||
|
||||
### Creating a new issue
|
||||
Before creating a new issue, we recommend searching for similar or related issues to avoid duplication efforts. However, if you can't find one, you're more than welcome to create a new issue using a relevant issue form. Please make sure to describe the issue as clearly and concisely as possible.
|
||||
Before creating a new issue, search for similar or related issues to avoid duplication efforts. If you can't find one, you're more than welcome to create a new issue using a relevant form, and please make sure to describe the issue as clearly as possible.
|
||||
|
||||
### Solving an issue
|
||||
If you want to lend a hand by solving an issue, it's always good to browse existing issues to find one that grabs your attention. You can narrow down the search using tags as filters. If you find an issue you'd like to help with, please feel free to open a Pull Request with a fix. We appreciate documentation updates and grammar fixes too!
|
||||
If you want to help solve 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. Simple documentation updates and grammar fixes are welcome too.
|
||||
|
||||
## Making Changes
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Ensure that you have the latest Node.js v16 version installed.
|
||||
3. Create a working branch and start making your changes and improvements!
|
||||
2. Ensure that you have the latest Node.js version installed.
|
||||
3. Create a working branch and start making your changes!
|
||||
|
||||
### 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.
|
||||
### Committing Your Changes
|
||||
When you're done with the changes, make sure to commit them. Don't forget to write a clear, descriptive commit message. We follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
|
||||
|
||||
### Creating a Pull Request
|
||||
Once you're happy with your updates, create a pull request on GitHub. This is the most efficient way to get your contribution reviewed and eventually merged into our codebase.
|
||||
Once you're happy with your changes, create a pull request on GitHub.
|
||||
|
||||
- Use the pull request template to fill in the necessary details.
|
||||
- If you're solving an issue, link the pull request to that issue.
|
||||
@@ -35,7 +33,7 @@ npm run test
|
||||
|
||||
Linting:
|
||||
```sh
|
||||
npm run lint
|
||||
npm run lint:fix
|
||||
```
|
||||
|
||||
Building:
|
||||
@@ -55,12 +53,6 @@ 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.
|
||||
783
README.md
783
README.md
@@ -3,92 +3,28 @@
|
||||
[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
|
||||
[collaborators]: https://github.com/LuanRT/YouTube.js/blob/main/COLLABORATORS.md
|
||||
|
||||
<!-- OTHER LINKS -->
|
||||
[project]: https://github.com/LuanRT/YouTube.js
|
||||
[twitter]: https://twitter.com/thesciencephile
|
||||
[discord]: https://discord.gg/syDu7Yks54
|
||||
|
||||
<h1 align=center>YouTube.js</h1>
|
||||
|
||||
<p align=center>A full-featured wrapper around the InnerTube API</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[][actions]
|
||||
[][versions]
|
||||
[][codefactor]
|
||||
[][npm]
|
||||
[][discord]
|
||||
<br>
|
||||
[][collaborators]
|
||||
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<br/>
|
||||
<p>
|
||||
<sup>Special thanks to:</sup>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://serpapi.com" target="_blank">
|
||||
<img width="80" alt="SerpApi" src="https://luanrt.github.io/assets/img/serpapi.svg" />
|
||||
<br>
|
||||
<sub>
|
||||
API to get search engine results with ease.
|
||||
</sub>
|
||||
<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 internal API.<br/>Works on Node.js, Deno, modern browsers, and more.</p>
|
||||
|
||||
[][discord]
|
||||
[][actions]
|
||||
[][versions]
|
||||
[][npm]
|
||||
[][codefactor]
|
||||
|
||||
</div>
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
## Table of Contents
|
||||
<ol>
|
||||
<li>
|
||||
<a href="#description">Description</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="#extending-the-library">Extending the library</a></li>
|
||||
<li><a href="#contributing">Contributing</a></li>
|
||||
<li><a href="#contact">Contact</a></li>
|
||||
<li><a href="#disclaimer">Disclaimer</a></li>
|
||||
<li><a href="#license">License</a></li>
|
||||
</ol>
|
||||
## Installation
|
||||
|
||||
## Description
|
||||
|
||||
InnerTube is an API used by all YouTube clients. It was created to simplify the deployment of new features and experiments across the platform [^1]. This library manages all low-level communication with InnerTube, providing a simple and efficient way to interact with YouTube programmatically. Its design aims to closely emulate an actual client, including the parsing of API responses.
|
||||
|
||||
If you have any questions or need help, feel free to reach out to us on our [Discord server][discord] or open an issue [here](https://github.com/LuanRT/YouTube.js/issues).
|
||||
|
||||
## 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](https://github.com/nodejs/undici)'s fetch implementation, which requires Node.js 16.8+. If you need to use an older version, you may provide your own fetch implementation. 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
|
||||
@@ -99,712 +35,41 @@ yarn add youtubei.js@latest
|
||||
|
||||
# Git (edge version)
|
||||
npm install github:LuanRT/YouTube.js
|
||||
|
||||
# Deno
|
||||
deno add npm:youtubei.js@latest
|
||||
```
|
||||
|
||||
When using Deno, you can import YouTube.js directly from deno.land:
|
||||
Deno (deprecated):
|
||||
```ts
|
||||
import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';
|
||||
```
|
||||
|
||||
## Usage
|
||||
Create an InnerTube instance:
|
||||
```ts
|
||||
// const { Innertube } = require('youtubei.js');
|
||||
import { Innertube } from 'youtubei.js';
|
||||
const youtube = await Innertube.create(/* options */);
|
||||
```
|
||||
## Basic Usage
|
||||
|
||||
### Initialization Options
|
||||
<details>
|
||||
<summary>Click to expand</summary>
|
||||
|
||||
| Option | Type | Description | Default |
|
||||
| --- | --- | --- | --- |
|
||||
| `lang` | `string` | Language. | `en` |
|
||||
| `location` | `string` | Geolocation. | `US` |
|
||||
| `account_index` | `number` | The account index to use. This is useful if you have multiple accounts logged in. **NOTE:** Only works if you are signed in with cookies. | `0` |
|
||||
| `visitor_data` | `string` | Setting this to a valid and persistent visitor data string will allow YouTube to give this session tailored content even when not logged in. A good way to get a valid one is by either grabbing it from a browser or calling InnerTube's `/visitor_id` endpoint. | `undefined` |
|
||||
| `retrieve_player` | `boolean` | Specifies whether to retrieve the JS player. Disabling this will make session creation faster. **NOTE:** Deciphering formats is not possible without the JS player. | `true` |
|
||||
| `enable_safety_mode` | `boolean` | Specifies whether to enable safety mode. This will prevent the session from loading any potentially unsafe content. | `false` |
|
||||
| `generate_session_locally` | `boolean` | Specifies whether to generate the session data locally or retrieve it from YouTube. This can be useful if you need more performance. | `false` |
|
||||
| `device_category` | `DeviceCategory` | Platform to use for the session. | `DESKTOP` |
|
||||
| `client_type` | `ClientType` | InnerTube client type. | `WEB` |
|
||||
| `timezone` | `string` | The time zone. | `*` |
|
||||
| `cache` | `ICache` | Used to cache the deciphering functions from the JS player. | `undefined` |
|
||||
| `cookie` | `string` | YouTube cookies. | `undefined` |
|
||||
| `fetch` | `FetchFunction` | Fetch function to use. | `fetch` |
|
||||
|
||||
</details>
|
||||
|
||||
## 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 at [`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 to modify and send the requests through a 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
|
||||
// Multiple exports are available for the web.
|
||||
// Unbundled ESM version
|
||||
import { Innertube } from 'youtubei.js/web';
|
||||
// Bundled ESM version
|
||||
// import { Innertube } from 'youtubei.js/web.bundle';
|
||||
// Production Bundled ESM version
|
||||
// import { Innertube } from 'youtubei.js/web.bundle.min';
|
||||
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.
|
||||
|
||||
```ts
|
||||
import { Innertube } from 'youtubei.js/web';
|
||||
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 = await 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);
|
||||
```
|
||||
|
||||
A fully working example can be found in [`examples/browser/web`](https://github.com/LuanRT/YouTube.js/blob/main/examples/browser/web). Alternatively, you can view it live at [ytjsexample.pages.dev](https://ytjsexample.pages.dev/).
|
||||
|
||||
<a name="custom-fetch"></a>
|
||||
|
||||
## 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
|
||||
Caching the transformed player instance can greatly improve the performance. Our `UniversalCache` implementation uses different caching methods depending on the environment.
|
||||
|
||||
In Node.js, we use the `node:fs` module, `Deno.writeFile()` in Deno, and `indexedDB` in browsers.
|
||||
|
||||
By default, the cache stores data in the operating system's temporary directory (or `indexedDB` in browsers). You can make this cache persistent by specifying the path to the cache directory, which will be created if it doesn't exist.
|
||||
|
||||
```ts
|
||||
import { Innertube, UniversalCache } from 'youtubei.js';
|
||||
// Create a cache that stores files in the OS temp directory (or indexedDB in browsers) by default.
|
||||
const yt = await Innertube.create({
|
||||
cache: new UniversalCache(false)
|
||||
});
|
||||
|
||||
// You may want to create a persistent cache instead (on Node and Deno).
|
||||
const yt = await Innertube.create({
|
||||
cache: new UniversalCache(
|
||||
// Enables persistent caching
|
||||
true,
|
||||
// Path to the cache directory. The directory will be created if it doesn't exist
|
||||
'./.cache'
|
||||
)
|
||||
});
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
* `Innertube`
|
||||
|
||||
<details>
|
||||
<summary>Properties</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)
|
||||
* [.kids](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/kids.md)
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Methods</summary>
|
||||
<p>
|
||||
|
||||
* [.getInfo(target, client?)](#getinfo)
|
||||
* [.getBasicInfo(video_id, client?)](#getbasicinfo)
|
||||
* [.search(query, filters?)](#search)
|
||||
* [.getSearchSuggestions(query)](#getsearchsuggestions)
|
||||
* [.getComments(video_id, sort_by?)](#getcomments)
|
||||
* [.getHomeFeed()](#gethomefeed)
|
||||
* [.getGuide()](#getguide)
|
||||
* [.getLibrary()](#getlibrary)
|
||||
* [.getHistory()](#gethistory)
|
||||
* [.getTrending()](#gettrending)
|
||||
* [.getSubscriptionsFeed()](#getsubscriptionsfeed)
|
||||
* [.getChannel(id)](#getchannel)
|
||||
* [.getNotifications()](#getnotifications)
|
||||
* [.getUnseenNotificationsCount()](#getunseennotificationscount)
|
||||
* [.getPlaylist(id)](#getplaylist)
|
||||
* [.getHashtag(hashtag)](#gethashtag)
|
||||
* [.getStreamingData(video_id, options)](#getstreamingdata)
|
||||
* [.download(video_id, options?)](#download)
|
||||
* [.resolveURL(url)](#resolveurl)
|
||||
* [.call(endpoint, args?)](#call)
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getinfo"></a>
|
||||
### `getInfo(target, client?)`
|
||||
|
||||
Retrieves video info.
|
||||
|
||||
**Returns**: `Promise<VideoInfo>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| target | `string` \| `NavigationEndpoint` | If `string`, the id of the video. If `NavigationEndpoint`, the endpoint of watchable elements such as `Video`, `Mix` and `Playlist`. To clarify, valid endpoints have payloads containing at least `videoId` and optionally `playlistId`, `params` and `index`. |
|
||||
| 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>#removeRating()`
|
||||
- Removes like/dislike.
|
||||
|
||||
- `<info>#getLiveChat()`
|
||||
- Returns a LiveChat instance.
|
||||
|
||||
- `<info>#getTrailerInfo()`
|
||||
- Returns trailer info in a new `VideoInfo` instance, or `null` if none. Typically available for non-purchased movies or films.
|
||||
|
||||
- `<info>#chooseFormat(options)`
|
||||
- Used to choose streaming data formats.
|
||||
|
||||
- `<info>#toDash(url_transformer?, format_filter?)`
|
||||
- Converts streaming data to an MPEG-DASH manifest.
|
||||
|
||||
- `<info>#download(options)`
|
||||
- Downloads the video. See [download](#download).
|
||||
|
||||
- `<info>#getTranscript()`
|
||||
- Retrieves the video's transcript.
|
||||
|
||||
- `<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>#autoplay_video_endpoint`
|
||||
- Returns the endpoint of the video for Autoplay.
|
||||
|
||||
- `<info>#has_trailer`
|
||||
- Checks if trailer is available.
|
||||
|
||||
- `<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>`
|
||||
|
||||
> **Note**
|
||||
> `Search` extends the [`Feed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/feed.md) class.
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | The search query |
|
||||
| filters? | `SearchFilters` | Search filters |
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Search Filters</summary>
|
||||
|
||||
| Filter | Type | Value | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| upload_date | `string` | `all` \| `hour` \| `today` \| `week` \| `month` \| `year` | Filter by upload date |
|
||||
| type | `string` | `all` \| `video` \| `channel` \| `playlist` \| `movie` | Filter by type |
|
||||
| duration | `string` | `all` \| `short` \| `medium` \| `long` | Filter by duration |
|
||||
| sort_by | `string` | `relevance` \| `rating` \| `upload_date` \| `view_count` | Sort by |
|
||||
| features | `string[]` | `hd` \| `subtitles` \| `creative_commons` \| `3d` \| `live` \| `purchased` \| `4k` \| `360` \| `location` \| `hdr` \| `vr180` | Filter by features |
|
||||
|
||||
</details>
|
||||
|
||||
<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<HomeFeed>`
|
||||
|
||||
> **Note**
|
||||
> `HomeFeed` extends the [`FilterableFeed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/filterable-feed.md) class.
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<home_feed>#videos`
|
||||
- Returns all videos in the home feed.
|
||||
|
||||
- `<home_feed>#posts`
|
||||
- Returns all posts in the home feed.
|
||||
|
||||
- `<home_feed>#shelves`
|
||||
- Returns all shelves in the home feed.
|
||||
|
||||
- `<home_feed>#filters`
|
||||
- Returns available filters.
|
||||
|
||||
- `<home_feed>#applyFilter(name | ChipCloudChip)`
|
||||
- Applies given filter and returns a new HomeFeed instance.
|
||||
|
||||
- `<home_feed>#getContinuation()`
|
||||
- Retrieves feed continuation.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getguide"></a>
|
||||
### `getGuide()`
|
||||
Retrieves YouTube's content guide.
|
||||
|
||||
**Returns**: `Promise<Guide>`
|
||||
|
||||
<a name="getlibrary"></a>
|
||||
### `getLibrary()`
|
||||
Retrieves the account's library.
|
||||
|
||||
**Returns**: `Promise<Library>`
|
||||
|
||||
> **Note**
|
||||
> `Library` extends the [`Feed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/feed.md) class.
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<library>#history`
|
||||
- `<library>#watch_later`
|
||||
- `<library>#liked_videos`
|
||||
- `<library>#playlists_section`
|
||||
- `<library>#clips`
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gethistory"></a>
|
||||
### `getHistory()`
|
||||
Retrieves watch history.
|
||||
|
||||
**Returns**: `Promise<History>`
|
||||
|
||||
> **Note**
|
||||
> `History` extends the [`Feed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/feed.md) class.
|
||||
|
||||
<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<IBrowseResponse>>`
|
||||
|
||||
<a name="getsubscriptionsfeed"></a>
|
||||
### `getSubscriptionsFeed()`
|
||||
Retrieves the subscriptions feed.
|
||||
|
||||
**Returns**: `Promise<Feed<IBrowseResponse>>`
|
||||
|
||||
<a name="getchannel"></a>
|
||||
### `getChannel(id)`
|
||||
Retrieves contents for a given channel.
|
||||
|
||||
**Returns**: `Promise<Channel>`
|
||||
|
||||
> **Note**
|
||||
> `Channel` extends the [`TabbedFeed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/tabbed-feed.md) class.
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| id | `string` | Channel id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<channel>#getVideos()`
|
||||
- `<channel>#getShorts()`
|
||||
- `<channel>#getLiveStreams()`
|
||||
- `<channel>#getReleases()`
|
||||
- `<channel>#getPodcasts()`
|
||||
- `<channel>#getPlaylists()`
|
||||
- `<channel>#getHome()`
|
||||
- `<channel>#getCommunity()`
|
||||
- `<channel>#getChannels()`
|
||||
- `<channel>#getAbout()`
|
||||
- `<channel>#search(query)`
|
||||
- `<channel>#applyFilter(filter)`
|
||||
- `<channel>#applyContentTypeFilter(content_type_filter)`
|
||||
- `<channel>#applySort(sort)`
|
||||
- `<channel>#getContinuation()`
|
||||
- `<channel>#filters`
|
||||
- `<channel>#content_type_filters`
|
||||
- `<channel>#sort_filters`
|
||||
- `<channel>#page`
|
||||
|
||||
</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>`
|
||||
|
||||
> **Note**
|
||||
> `Playlist` extends the [`Feed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/feed.md) class.
|
||||
|
||||
| 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="gethashtag"></a>
|
||||
### `getHashtag(hashtag)`
|
||||
Retrieves a given hashtag's page.
|
||||
|
||||
**Returns**: `Promise<HashtagFeed>`
|
||||
|
||||
> **Note**
|
||||
> `HashtagFeed` extends the [`FilterableFeed`](https://github.com/LuanRT/YouTube.js/blob/main/docs/API/filterable-feed.md) class.
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| hashtag | `string` | The hashtag |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getter</summary>
|
||||
<p>
|
||||
|
||||
- `<hashtag>#applyFilter(filter)`
|
||||
- Applies given filter and returns a new `HashtagFeed` instance.
|
||||
- `<hashtag>#getContinuation()`
|
||||
- Retrieves next batch of contents.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getstreamingdata"></a>
|
||||
### `getStreamingData(video_id, options)`
|
||||
Returns deciphered streaming data.
|
||||
|
||||
> **Note**
|
||||
> This method will be deprecated in the future. We recommend retrieving streaming data from a `VideoInfo` or `TrackInfo` object instead if you want to select formats manually. Please refer to the following example:
|
||||
|
||||
```ts
|
||||
const info = await yt.getBasicInfo('somevideoid');
|
||||
|
||||
const url = info.streaming_data?.formats[0].decipher(yt.session.player);
|
||||
console.info('Playback url:', url);
|
||||
|
||||
// or:
|
||||
const format = info.chooseFormat({ type: 'audio', quality: 'best' });
|
||||
const url = format?.decipher(yt.session.player);
|
||||
console.info('Playback url:', url);
|
||||
```
|
||||
|
||||
**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="resolveurl"></a>
|
||||
### `resolveURL(url)`
|
||||
Resolves a given url.
|
||||
|
||||
**Returns**: `Promise<NavigationEndpoint>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| url | `string` | Url to resolve |
|
||||
|
||||
<a name="call"></a>
|
||||
### `call(endpoint, args?)`
|
||||
Utility to call navigation endpoints.
|
||||
|
||||
**Returns**: `Promise<T extends IParsedResponse | IParsedResponse | ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| endpoint | `NavigationEndpoint` | The target endpoint |
|
||||
| args? | `object` | Additional payload arguments |
|
||||
|
||||
## Extending the library
|
||||
|
||||
YouTube.js is modular and easy to extend. Most of the 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, let's say we want to implement a method to retrieve video info. We can do that by using an instance of the `Actions` class:
|
||||
```ts
|
||||
import { Innertube } from 'youtubei.js';
|
||||
|
||||
(async () => {
|
||||
const yt = await Innertube.create();
|
||||
|
||||
async function getVideoInfo(videoId: string) {
|
||||
const videoInfo = await yt.actions.execute('/player', {
|
||||
// You can add any additional payloads here, and they'll merge with the default payload sent to InnerTube.
|
||||
videoId,
|
||||
client: 'YTMUSIC', // InnerTube client options: ANDROID, YTMUSIC, YTMUSIC_ANDROID, WEB, or TV_EMBEDDED.
|
||||
parse: true // tells YouTube.js to parse the response (not sent to InnerTube).
|
||||
});
|
||||
|
||||
return videoInfo;
|
||||
}
|
||||
|
||||
const videoInfo = await getVideoInfo('jLTOuvBTLxA');
|
||||
console.info(videoInfo);
|
||||
})();
|
||||
const innertube = await Innertube.create(/* options */);
|
||||
```
|
||||
|
||||
Alternatively, suppose we locate a `NavigationEndpoint` in a parsed response and want to see what happens when we call it:
|
||||
```ts
|
||||
import { Innertube, YTNodes } from 'youtubei.js';
|
||||
|
||||
(async () => {
|
||||
const yt = await Innertube.create();
|
||||
|
||||
const artist = await yt.music.getArtist('UC52ZqHVQz5OoGhvbWiRal6g');
|
||||
const albums = artist.sections[1].as(YTNodes.MusicCarouselShelf);
|
||||
|
||||
// Let's imagine that we wish to click on the “More” button:
|
||||
const button = albums.as(YTNodes.MusicCarouselShelf).header?.more_content;
|
||||
|
||||
if (button) {
|
||||
// Having ensured that it exists, we can then call its navigation endpoint using the following code:
|
||||
const page = await button.endpoint.call(yt.actions, { parse: true });
|
||||
console.info(page);
|
||||
}
|
||||
})();
|
||||
```
|
||||
|
||||
### Parser
|
||||
|
||||
YouTube.js' parser enables you to parse InnerTube responses and convert their nodes into strongly-typed objects that are simple to manipulate. Additionally, it provides numerous utility methods that make working with InnerTube a breeze.
|
||||
|
||||
Here's an example of its usage:
|
||||
```ts
|
||||
// See ./examples/parser
|
||||
|
||||
import { Parser, YTNodes } from 'youtubei.js';
|
||||
import { readFileSync } from 'fs';
|
||||
|
||||
// YouTube Music's artist page response
|
||||
const data = readFileSync('./artist.json').toString();
|
||||
|
||||
const page = Parser.parseResponse(JSON.parse(data));
|
||||
|
||||
const header = page.header?.item().as(YTNodes.MusicImmersiveHeader, YTNodes.MusicVisualHeader);
|
||||
|
||||
console.info('Header:', header);
|
||||
|
||||
// The parser uses a proxy object to add type safety and utility methods for working with InnerTube's data arrays:
|
||||
const tab = page.contents?.item().as(YTNodes.SingleColumnBrowseResults).tabs.firstOfType(YTNodes.Tab);
|
||||
|
||||
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(YTNodes.SectionList).contents.as(YTNodes.MusicCarouselShelf, YTNodes.MusicDescriptionShelf, YTNodes.MusicShelf);
|
||||
|
||||
console.info('Sections:', sections);
|
||||
```
|
||||
|
||||
Documentation for the parser can be found [here](https://github.com/LuanRT/YouTube.js/blob/main/src/parser).
|
||||
For detailed usage, read the [YouTube.js Guide and API Documentation](https://ytjs.dev).
|
||||
|
||||
## Contributing
|
||||
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).
|
||||
All contributions are welcome, big or small. If you want to contribute, take a look at the [issues page](https://github.com/LuanRT/YouTube.js/issues) and our [guidelines](https://github.com/LuanRT/YouTube.js/blob/main/CONTRIBUTING.md).
|
||||
|
||||
We are immensely grateful to all the wonderful people who have contributed to this project. A special shoutout to all our contributors! 🎉
|
||||
## Contributors
|
||||
<a href="https://github.com/LuanRT/YouTube.js/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=LuanRT/YouTube.js" />
|
||||
</a>
|
||||
|
||||
## Contact
|
||||
|
||||
LuanRT - [@thesciencephile][twitter] - luanrt@thatsciencephile.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 used in this project are the property of their respective owners and are used solely to describe the services provided.
|
||||
|
||||
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 directly via email.
|
||||
|
||||
[^1]: https://gizmodo.com/how-project-innertube-helped-pull-youtube-out-of-the-gu-1704946491
|
||||
As such, any usage of trademarks to refer to such services is considered nominative use. If you have any questions or concerns, please contact me.
|
||||
|
||||
## License
|
||||
Distributed under the [MIT](https://choosealicense.com/licenses/mit/) License.
|
||||
|
||||
<p align=" right">
|
||||
<p align="right">
|
||||
(<a href="#top">back to top</a>)
|
||||
</p>
|
||||
|
||||
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';
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -1,4 +1,3 @@
|
||||
import { fetch } from 'undici';
|
||||
import { gunzip } from 'zlib';
|
||||
import { dirname, resolve } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
@@ -6,7 +5,7 @@ import { writeFile } from 'fs/promises';
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
const buf = await (await fetch('https://github.com/intoli/user-agents/blob/master/src/user-agents.json.gz?raw=true')).arrayBuffer();
|
||||
const 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
|
||||
@@ -1,115 +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 the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gettimewatched"></a>
|
||||
### getTimeWatched()
|
||||
|
||||
Retrieves time watched statistics.
|
||||
|
||||
**Returns:** `Promise.<TimeWatched>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<timewatched>#page`
|
||||
- Returns the original InnerTube response(s), parsed and 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.
|
||||
|
||||
- `<settings>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getanalytics"></a>
|
||||
### getAnalytics()
|
||||
|
||||
Retrieves basic channel analytics.
|
||||
|
||||
**Returns:** `Promise.<Analytics>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<analytics>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
115
docs/API/feed.md
115
docs/API/feed.md
@@ -1,115 +0,0 @@
|
||||
# Feed
|
||||
|
||||
Represents a YouTube feed. This class provides a set of utility methods for parsing and interacting with feeds.
|
||||
|
||||
## API
|
||||
|
||||
* Feed
|
||||
* [.videos](#videos)
|
||||
* [.posts](#posts)
|
||||
* [.channels](#channels)
|
||||
* [.playlists](#playlists)
|
||||
* [.shelves](#shelves)
|
||||
* [.memo](#memo)
|
||||
* [.page_contents](#page_contents)
|
||||
* [.secondary_contents](#secondary_contents)
|
||||
* [.page](#page)
|
||||
* [.has_continuation](#has_continuation)
|
||||
* [.getContinuationData()](#getcontinuationdata)
|
||||
* [.getContinuation()](#getcontinuation)
|
||||
* [.getShelf(title)](#getshelf)
|
||||
|
||||
<a name="videos"></a>
|
||||
### videos
|
||||
|
||||
Returns all videos in the feed.
|
||||
|
||||
**Returns:** `ObservedArray<Video | GridVideo | ReelItem | CompactVideo | PlaylistVideo | PlaylistPanelVideo | WatchCardCompactVideo>`
|
||||
|
||||
<a name="posts"></a>
|
||||
### posts
|
||||
|
||||
Returns all posts in the feed.
|
||||
|
||||
**Returns:** `ObservedArray<Post | BackstagePost>`
|
||||
|
||||
<a name="channels"></a>
|
||||
### channels
|
||||
|
||||
Returns all channels in the feed.
|
||||
|
||||
**Returns:** `ObservedArray<Channel | GridChannel>`
|
||||
|
||||
<a name="playlists"></a>
|
||||
### playlists
|
||||
|
||||
Returns all playlists in the feed.
|
||||
|
||||
**Returns:** `ObservedArray<Playlist | GridPlaylist>`
|
||||
|
||||
<a name="shelves"></a>
|
||||
### shelves
|
||||
|
||||
Returns all shelves in the feed.
|
||||
|
||||
**Returns:** `ObservedArray<Shelf | RichShelf | ReelShelf>`
|
||||
|
||||
<a name="memo"></a>
|
||||
### memo
|
||||
|
||||
Returns the memoized feed contents.
|
||||
|
||||
**Returns:** `Memo`
|
||||
|
||||
<a name="page_contents"></a>
|
||||
### page_contents
|
||||
|
||||
Returns the page contents.
|
||||
|
||||
**Returns:** `SectionList | MusicQueue | RichGrid | ReloadContinuationItemsCommand`
|
||||
|
||||
<a name="secondary_contents"></a>
|
||||
### secondary_contents
|
||||
|
||||
Returns the secondary contents node.
|
||||
|
||||
**Returns:** `SuperParsedResult<YTNode> | undefined `
|
||||
|
||||
<a name="page"></a>
|
||||
### page
|
||||
|
||||
Returns the original InnerTube response, parsed and sanitized.
|
||||
|
||||
**Returns:** `T extends IParsedResponse = IParsedResponse`
|
||||
|
||||
<a name="has_continuation"></a>
|
||||
### has_continuation
|
||||
|
||||
Returns whether the feed has a continuation.
|
||||
|
||||
**Returns:** `boolean`
|
||||
|
||||
<a name="getcontinuationdata"></a>
|
||||
### getContinuationData()
|
||||
|
||||
Returns the continuation data.
|
||||
|
||||
**Returns:** `Promise<T | undefined>`
|
||||
|
||||
<a name="getcontinuation"></a>
|
||||
### getContinuation()
|
||||
|
||||
Retrieves the feed's continuation.
|
||||
|
||||
**Returns:** `Promise<Feed<T>>`
|
||||
|
||||
<a name="getshelf"></a>
|
||||
### getShelf(title)
|
||||
|
||||
Gets a shelf by its title.
|
||||
|
||||
**Returns:** `Shelf | RichShelf | ReelShelf | undefined`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| title | `string` | The title of the shelf to get |
|
||||
@@ -1,38 +0,0 @@
|
||||
# FilterableFeed
|
||||
|
||||
Represents a feed that can be filtered.
|
||||
|
||||
> **Note**
|
||||
> This class extends the [Feed](feed.md) class.
|
||||
|
||||
## API
|
||||
|
||||
* FilterableFeed
|
||||
* [.filter_chips](#filter_chips)
|
||||
* [.filters](#filters)
|
||||
* [.getFilteredFeed(filter: string | ChipCloudChip)](#getfilteredfeed)
|
||||
|
||||
<a name="filter_chips"></a>
|
||||
### filter_chips
|
||||
|
||||
Returns the feed's filter chips.
|
||||
|
||||
**Returns:** `ObservedArray<ChipCloudChip>`
|
||||
|
||||
<a name="filters"></a>
|
||||
### filters
|
||||
|
||||
Returns the feed's filter chips as an array of strings.
|
||||
|
||||
**Returns:** `string[]`
|
||||
|
||||
<a name="getfilteredfeed"></a>
|
||||
### getFilteredFeed(filter: string | ChipCloudChip)
|
||||
|
||||
Returns a new [Feed](feed.md) with the given filter applied.
|
||||
|
||||
**Returns:** `Promise<Feed<T>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| filter | `string` \| `ChipCloudChip` | The filter to apply |
|
||||
@@ -1,108 +0,0 @@
|
||||
# InteractionManager
|
||||
|
||||
Handles direct interactions.
|
||||
|
||||
## API
|
||||
|
||||
* InteractionManager
|
||||
* [.like(video_id)](#like)
|
||||
* [.dislike(video_id)](#dislike)
|
||||
* [.removeRating(video_id)](#removerating)
|
||||
* [.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.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="dislike"></a>
|
||||
### dislike(video_id)
|
||||
|
||||
Dislikes given video.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="removerating"></a>
|
||||
### removeLike(video_id)
|
||||
|
||||
Remover like/dislike.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
|
||||
<a name="subscribe"></a>
|
||||
### subscribe(channel_id)
|
||||
|
||||
Subscribes to given channel.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
|
||||
<a name="unsubscribe"></a>
|
||||
### unsubscribe(channel_id)
|
||||
|
||||
Unsubscribes from given channel.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
|
||||
<a name="comment"></a>
|
||||
### comment(video_id, text)
|
||||
|
||||
Posts a comment on given video.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| 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.<ApiResponse>`
|
||||
|
||||
| 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.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | Channel id |
|
||||
| type | `string` | `PERSONALIZED`, `ALL` or `NONE` |
|
||||
113
docs/API/kids.md
113
docs/API/kids.md
@@ -1,113 +0,0 @@
|
||||
# YouTube Kids
|
||||
|
||||
YouTube Kids is a modified version of the YouTube app, with a simplified interface and curated content. This class allows you to interact with its API.
|
||||
|
||||
## API
|
||||
|
||||
* Kids
|
||||
* [.search(query)](#search)
|
||||
* [.getInfo(video_id)](#getinfo)
|
||||
* [.getChannel(channel_id)](#getchannel)
|
||||
* [.getHomeFeed()](#gethomefeed)
|
||||
|
||||
<a name="search"></a>
|
||||
### search(query)
|
||||
|
||||
Searches the given query on YouTube Kids.
|
||||
|
||||
**Returns:** `Promise.<Search>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | The query to search |
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<search>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getinfo"></a>
|
||||
### getInfo(video_id)
|
||||
|
||||
Retrieves video info.
|
||||
|
||||
**Returns:** `Promise.<VideoInfo>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | The video id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<info>#toDash(url_transformer?, format_filter?)`
|
||||
- Generates a DASH manifest from the streaming data.
|
||||
|
||||
- `<info>#chooseFormat(options)`
|
||||
- Selects the format that best matches the given options. This method is used internally by `#download`.
|
||||
|
||||
- `<info>#download(options?)`
|
||||
- Downloads the video.
|
||||
|
||||
- `<info>#addToWatchHistory()`
|
||||
- Adds the video to the watch history.
|
||||
|
||||
- `<info>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getchannel"></a>
|
||||
### getChannel(channel_id)
|
||||
|
||||
Retrieves channel info.
|
||||
|
||||
**Returns:** `Promise.<Channel>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| channel_id | `string` | The channel id |
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<channel>#getContinuation()`
|
||||
- Retrieves next batch of videos.
|
||||
|
||||
- `<channel>#has_continuation`
|
||||
- Returns whether there are more videos to retrieve.
|
||||
|
||||
- `<channel>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="gethomefeed"></a>
|
||||
### getHomeFeed()
|
||||
|
||||
Retrieves the home feed.
|
||||
|
||||
**Returns:** `Promise.<HomeFeed>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<feed>#selectCategoryTab(tab: string | KidsCategoryTab)`
|
||||
- Selects the given category tab.
|
||||
|
||||
- `<feed>#categories`
|
||||
- Returns available categories.
|
||||
|
||||
- `<feed>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
@@ -1,347 +0,0 @@
|
||||
# YouTube Music
|
||||
|
||||
YouTube Music is a music streaming service developed by YouTube, a subsidiary of Google. It provides a tailored interface for the service oriented towards music streaming, with a greater emphasis on browsing and discovery compared to its main service. This class allows you to interact with its API.
|
||||
|
||||
## 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.
|
||||
|
||||
- `<info>#toDash(url_transformer?, format_filter?)`
|
||||
- Generates a DASH manifest from the streaming data.
|
||||
|
||||
- `<info>#chooseFormat(options)`
|
||||
- Selects the format that best matches the given options. This method is used internally by `#download`.
|
||||
|
||||
- `<info>#download(options?)`
|
||||
- Downloads the track.
|
||||
|
||||
- `<info>#addToWatchHistory()`
|
||||
- Adds the song to the watch history.
|
||||
|
||||
- `<info>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="search"></a>
|
||||
### search(query, filters?)
|
||||
|
||||
Searches on YouTube Music.
|
||||
|
||||
**Returns:** `Promise.<Search>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| query | `string` | Search query |
|
||||
| filters? | `MusicSearchFilters` | Search filters |
|
||||
|
||||
<details>
|
||||
<summary>Search Filters</summary>
|
||||
|
||||
| Filter | Type | Value | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| type | `string` | `all`, `song`, `video`, `album`, `playlist`, `artist` | Search type |
|
||||
|
||||
</details>
|
||||
|
||||
<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 the original InnerTube response(s), parsed and 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).
|
||||
|
||||
- `<homefeed>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getexplore"></a>
|
||||
### getExplore()
|
||||
|
||||
Retrieves “Explore” feed.
|
||||
|
||||
**Returns:** `Promise.<Explore>`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<explore>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<a name="getlibrary"></a>
|
||||
### getLibrary()
|
||||
|
||||
Retrieves library.
|
||||
|
||||
**Returns:** `Library`
|
||||
|
||||
<details>
|
||||
<summary>Methods & Getters</summary>
|
||||
<p>
|
||||
|
||||
- `<library>#applyFilter(filter)`
|
||||
- Applies given filter to the library.
|
||||
|
||||
- `<library>#applySort(sort_by)`
|
||||
- Applies given sort option to the library items.
|
||||
|
||||
- `<library>#getContinuation()`
|
||||
- Retrieves continuation of the library items.
|
||||
|
||||
- `<library>#has_continuation`
|
||||
- Checks if continuation is available.
|
||||
|
||||
- `<library>#filters`
|
||||
- Returns available filters.
|
||||
|
||||
- `<library>#sort_options`
|
||||
- Returns available sort options.
|
||||
|
||||
- `<library>#page`
|
||||
- Returns the original InnerTube response(s), parsed and sanitized.
|
||||
|
||||
</p>
|
||||
</details>
|
||||
|
||||
<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 the original InnerTube response(s), parsed and 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 the original InnerTube response(s), parsed and 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 the original InnerTube response(s), parsed and 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 the original InnerTube response(s), parsed and 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,99 +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)
|
||||
* [.setName(playlist_id, name)](#setname)
|
||||
* [.setDescription(playlist_id, description)](#setdescription)
|
||||
|
||||
<a name="create"></a>
|
||||
### create(title, video_ids)
|
||||
|
||||
Creates a playlist.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| 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.<ApiResponse>`
|
||||
|
||||
| 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 |
|
||||
|
||||
<a name="setname"></a>
|
||||
### setName(playlist_id, name)
|
||||
|
||||
Sets the name / title for the given playlist.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
| name | `string` | Name / title |
|
||||
|
||||
|
||||
<a name="setdescription"></a>
|
||||
### setDescription(playlist_id, description)
|
||||
|
||||
Sets the description for the given playlist.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| playlist_id | `string` | Playlist id |
|
||||
| description | `string` | Description |
|
||||
@@ -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,46 +0,0 @@
|
||||
# Studio
|
||||
|
||||
YouTube Studio class (WIP).
|
||||
|
||||
## API
|
||||
|
||||
* Studio
|
||||
* [.setThumbnail(video_id, buffer)](#setthumbnail)
|
||||
* [.updateVideoMetadata(video_id, metadata)](#updatemetadata)
|
||||
* [.upload(file, metadata)](#upload)
|
||||
|
||||
<a name="setthumbnail"></a>
|
||||
### setThumbnail(video_id, buffer)
|
||||
|
||||
Uploads a custom thumbnail and sets it for a video.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| buffer | `Uint8Array` | Thumbnail buffer |
|
||||
|
||||
<a name="updatemetadata"></a>
|
||||
### updateVideoMetadata(video_id, metadata)
|
||||
|
||||
Updates given video's metadata.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| video_id | `string` | Video id |
|
||||
| metadata | `VideoMetadata` | Video metadata |
|
||||
|
||||
<a name="upload"></a>
|
||||
### upload(file, metadata)
|
||||
|
||||
Uploads a video to YouTube.
|
||||
|
||||
**Returns:** `Promise.<ApiResponse>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| file | `BodyInit` | Video file |
|
||||
| metadata | `UploadedVideoMetadata` | Video metadata |
|
||||
@@ -1,62 +0,0 @@
|
||||
# TabbedFeed
|
||||
|
||||
Represents a feed with tabs.
|
||||
|
||||
> **Note**
|
||||
> This class extends the [Feed](feed.md) class.
|
||||
|
||||
## API
|
||||
|
||||
* TabbedFeed
|
||||
* [.tabs](#tabs)
|
||||
* [.getTabByName(title: string)](#gettabbyname)
|
||||
* [.getTabByURL(url: string)](#gettabbyurl)
|
||||
* [.hasTabWithURL(url: string)](#hastabwithurl)
|
||||
* [.title](#title)
|
||||
|
||||
<a name="tabs"></a>
|
||||
### tabs
|
||||
|
||||
Returns the feed's tabs as an array of strings.
|
||||
|
||||
**Returns:** `string[]`
|
||||
|
||||
<a name="gettabbyname"></a>
|
||||
### getTabByName(title: string)
|
||||
|
||||
Fetches a tab by its title.
|
||||
|
||||
**Returns:** `Promise<TabbedFeed<T>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| title | `string` | The title of the tab to get |
|
||||
|
||||
<a name="gettabbyurl"></a>
|
||||
### getTabByURL(url: string)
|
||||
|
||||
Fetches a tab by its URL.
|
||||
|
||||
**Returns:** `Promise<TabbedFeed<T>>`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| url | `string` | The URL of the tab to get |
|
||||
|
||||
<a name="hastabwithurl"></a>
|
||||
### hasTabWithURL(url: string)
|
||||
|
||||
Returns whether the feed has a tab with the given URL.
|
||||
|
||||
**Returns:** `boolean`
|
||||
|
||||
| Param | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| url | `string` | The URL to check |
|
||||
|
||||
<a name="title"></a>
|
||||
### title
|
||||
|
||||
Returns the currently selected tab's title.
|
||||
|
||||
**Returns:** `string | undefined`
|
||||
146
docs/api/README.md
Normal file
146
docs/api/README.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# 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)
|
||||
- [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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L143)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L145)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L217)
|
||||
|
||||
***
|
||||
|
||||
### token
|
||||
|
||||
> **token**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L218)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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)
|
||||
212
docs/api/classes/EventEmitter.md
Normal file
212
docs/api/classes/EventEmitter.md
Normal file
@@ -0,0 +1,212 @@
|
||||
[youtubei.js](../README.md) / EventEmitter
|
||||
|
||||
# Class: EventEmitter
|
||||
|
||||
Defined in: [src/utils/EventEmitterLike.ts:3](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:11569
|
||||
|
||||
The **`addEventListener()`** method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.
|
||||
|
||||
[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:11575
|
||||
|
||||
The **`dispatchEvent()`** method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.
|
||||
|
||||
[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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:11581
|
||||
|
||||
The **`removeEventListener()`** method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.
|
||||
|
||||
[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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L112)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/HTTPClient.ts#L36)
|
||||
|
||||
##### Returns
|
||||
|
||||
> (`input`, `init?`): `Promise`\<`Response`\>
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/fetch)
|
||||
|
||||
###### Parameters
|
||||
|
||||
###### input
|
||||
|
||||
`URL` | `RequestInfo`
|
||||
|
||||
###### init?
|
||||
|
||||
`RequestInit`
|
||||
|
||||
###### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
|
||||
> (`input`, `init?`): `Promise`\<`Response`\>
|
||||
|
||||
[MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/HTTPClient.ts#L40)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### input
|
||||
|
||||
`string` | `URL` | `Request`
|
||||
|
||||
##### init?
|
||||
|
||||
`RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`Response`\>
|
||||
704
docs/api/classes/Innertube.md
Normal file
704
docs/api/classes/Innertube.md
Normal file
@@ -0,0 +1,704 @@
|
||||
[youtubei.js](../README.md) / Innertube
|
||||
|
||||
# Class: Innertube
|
||||
|
||||
Defined in: [src/Innertube.ts:64](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:603](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L603)
|
||||
|
||||
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:624](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L624)
|
||||
|
||||
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:617](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L617)
|
||||
|
||||
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:596](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L596)
|
||||
|
||||
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:582](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L582)
|
||||
|
||||
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:610](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L610)
|
||||
|
||||
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:631](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L631)
|
||||
|
||||
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:589](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L589)
|
||||
|
||||
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:573](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L573)
|
||||
|
||||
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:574](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L574)
|
||||
|
||||
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`\<`ArrayBufferLike`\>\>\>
|
||||
|
||||
Defined in: [src/Innertube.ts:471](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L471)
|
||||
|
||||
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`\<`ArrayBufferLike`\>\>\>
|
||||
|
||||
***
|
||||
|
||||
### getAttestationChallenge()
|
||||
|
||||
> **getAttestationChallenge**(`engagement_type`, `ids?`): `Promise`\<[`IGetChallengeResponse`](../type-aliases/IGetChallengeResponse.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:559](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L559)
|
||||
|
||||
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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:385](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L385)
|
||||
|
||||
#### 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:379](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L379)
|
||||
|
||||
#### 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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:367](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L367)
|
||||
|
||||
#### 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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:430](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L430)
|
||||
|
||||
#### 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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:397](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L397)
|
||||
|
||||
#### 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:417](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L417)
|
||||
|
||||
#### 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:411](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L411)
|
||||
|
||||
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:491](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L491)
|
||||
|
||||
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:512](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L512)
|
||||
|
||||
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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:456](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L456)
|
||||
|
||||
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:373](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L373)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
|
||||
|
||||
***
|
||||
|
||||
### getUnseenNotificationsCount()
|
||||
|
||||
> **getUnseenNotificationsCount**(): `Promise`\<`number`\>
|
||||
|
||||
Defined in: [src/Innertube.ts:402](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L402)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`number`\>
|
||||
|
||||
***
|
||||
|
||||
### resolveURL()
|
||||
|
||||
> **resolveURL**(`url`): `Promise`\<[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)\>
|
||||
|
||||
Defined in: [src/Innertube.ts:479](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L479)
|
||||
|
||||
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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L12)
|
||||
|
||||
***
|
||||
|
||||
### continuation?
|
||||
|
||||
> `optional` **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L13)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L159)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: [`Continuation`](Continuation.md)
|
||||
|
||||
Defined in: [src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L171)
|
||||
|
||||
***
|
||||
|
||||
### emojis
|
||||
|
||||
> **emojis**: `object`[]
|
||||
|
||||
Defined in: [src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L164)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L84)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L83)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L97)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L96)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L44)
|
||||
|
||||
***
|
||||
|
||||
### YTTV\_URL
|
||||
|
||||
> **YTTV\_URL**: `URL`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L38)
|
||||
|
||||
## Methods
|
||||
|
||||
### cacheCredentials()
|
||||
|
||||
> **cacheCredentials**(): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:105](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:38](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L38)
|
||||
|
||||
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:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
|
||||
|
||||
#### 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:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### player\_id
|
||||
|
||||
> **player\_id**: `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:39](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### signature\_timestamp
|
||||
|
||||
> **signature\_timestamp**: `number`
|
||||
|
||||
Defined in: [src/core/Player.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
|
||||
|
||||
## Accessors
|
||||
|
||||
### url
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **url**(): `string`
|
||||
|
||||
Defined in: [src/core/Player.ts:285](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L285)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### LIBRARY\_VERSION
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** `static` **LIBRARY\_VERSION**(): `number`
|
||||
|
||||
Defined in: [src/core/Player.ts:289](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L289)
|
||||
|
||||
##### Returns
|
||||
|
||||
`number`
|
||||
|
||||
## Methods
|
||||
|
||||
### cache()
|
||||
|
||||
> **cache**(`cache?`): `Promise`\<`void`\>
|
||||
|
||||
Defined in: [src/core/Player.ts:271](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L271)
|
||||
|
||||
#### 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:129](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L129)
|
||||
|
||||
#### 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:43](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L43)
|
||||
|
||||
#### 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:244](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L244)
|
||||
|
||||
#### 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:265](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L265)
|
||||
|
||||
#### 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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L129)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L128)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L54)
|
||||
|
||||
***
|
||||
|
||||
### slot?
|
||||
|
||||
> `optional` **slot**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L55)
|
||||
|
||||
***
|
||||
|
||||
### target\_id
|
||||
|
||||
> **target\_id**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L53)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L69)
|
||||
|
||||
***
|
||||
|
||||
### continuation
|
||||
|
||||
> **continuation**: `string`
|
||||
|
||||
Defined in: [src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L68)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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)
|
||||
705
docs/api/classes/Session.md
Normal file
705
docs/api/classes/Session.md
Normal file
@@ -0,0 +1,705 @@
|
||||
[youtubei.js](../README.md) / Session
|
||||
|
||||
# Class: Session
|
||||
|
||||
Defined in: [src/core/Session.ts:257](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L257)
|
||||
|
||||
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:264](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L264)
|
||||
|
||||
#### 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:268](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L268)
|
||||
|
||||
***
|
||||
|
||||
### actions
|
||||
|
||||
> **actions**: [`Actions`](Actions.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:261](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L261)
|
||||
|
||||
***
|
||||
|
||||
### api\_key
|
||||
|
||||
> **api\_key**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:266](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L266)
|
||||
|
||||
***
|
||||
|
||||
### api\_version
|
||||
|
||||
> **api\_version**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:267](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L267)
|
||||
|
||||
***
|
||||
|
||||
### cache?
|
||||
|
||||
> `optional` **cache**: [`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:273](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L273)
|
||||
|
||||
***
|
||||
|
||||
### config\_data?
|
||||
|
||||
> `optional` **config\_data**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:269](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L269)
|
||||
|
||||
***
|
||||
|
||||
### context
|
||||
|
||||
> **context**: [`Context`](../type-aliases/Context.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:265](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L265)
|
||||
|
||||
***
|
||||
|
||||
### cookie?
|
||||
|
||||
> `optional` **cookie**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:271](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L271)
|
||||
|
||||
***
|
||||
|
||||
### http
|
||||
|
||||
> **http**: [`HTTPClient`](HTTPClient.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:259](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L259)
|
||||
|
||||
***
|
||||
|
||||
### logged\_in
|
||||
|
||||
> **logged\_in**: `boolean`
|
||||
|
||||
Defined in: [src/core/Session.ts:260](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L260)
|
||||
|
||||
***
|
||||
|
||||
### oauth
|
||||
|
||||
> **oauth**: [`OAuth2`](OAuth2.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:258](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L258)
|
||||
|
||||
***
|
||||
|
||||
### player?
|
||||
|
||||
> `optional` **player**: [`Player`](Player.md)
|
||||
|
||||
Defined in: [src/core/Session.ts:270](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L270)
|
||||
|
||||
***
|
||||
|
||||
### po\_token?
|
||||
|
||||
> `optional` **po\_token**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:274](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L274)
|
||||
|
||||
***
|
||||
|
||||
### user\_agent?
|
||||
|
||||
> `optional` **user\_agent**: `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:262](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L262)
|
||||
|
||||
## Accessors
|
||||
|
||||
### client\_name
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **client\_name**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:698](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L698)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### client\_version
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **client\_version**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:694](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L694)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
***
|
||||
|
||||
### lang
|
||||
|
||||
#### Get Signature
|
||||
|
||||
> **get** **lang**(): `string`
|
||||
|
||||
Defined in: [src/core/Session.ts:702](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L702)
|
||||
|
||||
##### Returns
|
||||
|
||||
`string`
|
||||
|
||||
## Methods
|
||||
|
||||
### addEventListener()
|
||||
|
||||
> **addEventListener**(`type`, `callback`, `options?`): `void`
|
||||
|
||||
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:11569
|
||||
|
||||
The **`addEventListener()`** method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.
|
||||
|
||||
[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:11575
|
||||
|
||||
The **`dispatchEvent()`** method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.
|
||||
|
||||
[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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:284](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L284)
|
||||
|
||||
##### 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:285](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L285)
|
||||
|
||||
##### 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:286](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L286)
|
||||
|
||||
##### 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:287](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L287)
|
||||
|
||||
##### 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:293](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L293)
|
||||
|
||||
##### 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:294](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L294)
|
||||
|
||||
##### 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:295](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L295)
|
||||
|
||||
##### 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:11581
|
||||
|
||||
The **`removeEventListener()`** method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.
|
||||
|
||||
[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:661](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L661)
|
||||
|
||||
#### Parameters
|
||||
|
||||
##### credentials?
|
||||
|
||||
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
|
||||
|
||||
#### Returns
|
||||
|
||||
`Promise`\<`void`\>
|
||||
|
||||
***
|
||||
|
||||
### signOut()
|
||||
|
||||
> **signOut**(): `Promise`\<`Response` \| `undefined`\>
|
||||
|
||||
Defined in: [src/core/Session.ts:684](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L684)
|
||||
|
||||
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:301](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L301)
|
||||
|
||||
#### 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:334](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L334)
|
||||
|
||||
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?`, `fail_fast?`, `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:383](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L383)
|
||||
|
||||
#### 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`
|
||||
|
||||
##### fail\_fast?
|
||||
|
||||
`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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L39)
|
||||
|
||||
***
|
||||
|
||||
### type
|
||||
|
||||
> `readonly` **type**: `string`
|
||||
|
||||
Defined in: [src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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)
|
||||
117
docs/api/enumerations/ClientType.md
Normal file
117
docs/api/enumerations/ClientType.md
Normal file
@@ -0,0 +1,117 @@
|
||||
[youtubei.js](../README.md) / ClientType
|
||||
|
||||
# Enumeration: ClientType
|
||||
|
||||
Defined in: [src/core/Session.ts:22](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L22)
|
||||
|
||||
## Enumeration Members
|
||||
|
||||
### ANDROID
|
||||
|
||||
> **ANDROID**: `"ANDROID"`
|
||||
|
||||
Defined in: [src/core/Session.ts:28](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### ANDROID\_CREATOR
|
||||
|
||||
> **ANDROID\_CREATOR**: `"ANDROID_CREATOR"`
|
||||
|
||||
Defined in: [src/core/Session.ts:31](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L31)
|
||||
|
||||
***
|
||||
|
||||
### ANDROID\_MUSIC
|
||||
|
||||
> **ANDROID\_MUSIC**: `"ANDROID_MUSIC"`
|
||||
|
||||
Defined in: [src/core/Session.ts:30](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L30)
|
||||
|
||||
***
|
||||
|
||||
### ANDROID\_VR
|
||||
|
||||
> **ANDROID\_VR**: `"ANDROID_VR"`
|
||||
|
||||
Defined in: [src/core/Session.ts:29](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
### IOS
|
||||
|
||||
> **IOS**: `"iOS"`
|
||||
|
||||
Defined in: [src/core/Session.ts:27](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L27)
|
||||
|
||||
***
|
||||
|
||||
### KIDS
|
||||
|
||||
> **KIDS**: `"WEB_KIDS"`
|
||||
|
||||
Defined in: [src/core/Session.ts:25](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
### MUSIC
|
||||
|
||||
> **MUSIC**: `"WEB_REMIX"`
|
||||
|
||||
Defined in: [src/core/Session.ts:26](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### MWEB
|
||||
|
||||
> **MWEB**: `"MWEB"`
|
||||
|
||||
Defined in: [src/core/Session.ts:24](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### TV
|
||||
|
||||
> **TV**: `"TVHTML5"`
|
||||
|
||||
Defined in: [src/core/Session.ts:32](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L32)
|
||||
|
||||
***
|
||||
|
||||
### TV\_EMBEDDED
|
||||
|
||||
> **TV\_EMBEDDED**: `"TVHTML5_SIMPLY_EMBEDDED_PLAYER"`
|
||||
|
||||
Defined in: [src/core/Session.ts:34](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L34)
|
||||
|
||||
***
|
||||
|
||||
### TV\_SIMPLY
|
||||
|
||||
> **TV\_SIMPLY**: `"TVHTML5_SIMPLY"`
|
||||
|
||||
Defined in: [src/core/Session.ts:33](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L33)
|
||||
|
||||
***
|
||||
|
||||
### WEB
|
||||
|
||||
> **WEB**: `"WEB"`
|
||||
|
||||
Defined in: [src/core/Session.ts:23](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L23)
|
||||
|
||||
***
|
||||
|
||||
### WEB\_CREATOR
|
||||
|
||||
> **WEB\_CREATOR**: `"WEB_CREATOR"`
|
||||
|
||||
Defined in: [src/core/Session.ts:36](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L36)
|
||||
|
||||
***
|
||||
|
||||
### WEB\_EMBEDDED
|
||||
|
||||
> **WEB\_EMBEDDED**: `"WEB_EMBEDDED_PLAYER"`
|
||||
|
||||
Defined in: [src/core/Session.ts:35](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L35)
|
||||
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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L21)
|
||||
|
||||
***
|
||||
|
||||
### status\_code
|
||||
|
||||
> **status\_code**: `number`
|
||||
|
||||
Defined in: [src/core/Actions.ts:20](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L20)
|
||||
|
||||
***
|
||||
|
||||
### success
|
||||
|
||||
> **success**: `boolean`
|
||||
|
||||
Defined in: [src/core/Actions.ts:19](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/HTTPClient.ts#L13)
|
||||
|
||||
## Properties
|
||||
|
||||
### baseURL?
|
||||
|
||||
> `optional` **baseURL**: `string`
|
||||
|
||||
Defined in: [src/utils/HTTPClient.ts:14](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/ParsedResponse.ts#L92)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:94](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/ParsedResponse.ts#L106)
|
||||
|
||||
***
|
||||
|
||||
### embeddable
|
||||
|
||||
> **embeddable**: `boolean`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:107](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/ParsedResponse.ts#L105)
|
||||
|
||||
***
|
||||
|
||||
### reason
|
||||
|
||||
> **reason**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:108](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/ParsedResponse.ts#L108)
|
||||
|
||||
***
|
||||
|
||||
### status
|
||||
|
||||
> **status**: `string`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:104](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/RawResponse.ts#L1577)
|
||||
|
||||
***
|
||||
|
||||
### globalName
|
||||
|
||||
> **globalName**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1576](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/RawResponse.ts#L1576)
|
||||
|
||||
***
|
||||
|
||||
### interpreterHash
|
||||
|
||||
> **interpreterHash**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1574](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/RawResponse.ts#L1573)
|
||||
|
||||
***
|
||||
|
||||
### program
|
||||
|
||||
> **program**: `string`
|
||||
|
||||
Defined in: [src/parser/types/RawResponse.ts:1575](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/ParsedResponse.ts#L136)
|
||||
|
||||
***
|
||||
|
||||
### expires
|
||||
|
||||
> **expires**: `Date`
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:133](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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:39](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L39)
|
||||
|
||||
## Properties
|
||||
|
||||
### client
|
||||
|
||||
> **client**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:40](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L40)
|
||||
|
||||
#### 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:99](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L99)
|
||||
|
||||
#### internalExperimentFlags
|
||||
|
||||
> **internalExperimentFlags**: `any`[]
|
||||
|
||||
#### useSsl
|
||||
|
||||
> **useSsl**: `boolean`
|
||||
|
||||
***
|
||||
|
||||
### thirdParty?
|
||||
|
||||
> `optional` **thirdParty**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:96](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L96)
|
||||
|
||||
#### embedUrl
|
||||
|
||||
> **embedUrl**: `string`
|
||||
|
||||
***
|
||||
|
||||
### user
|
||||
|
||||
> **user**: `object`
|
||||
|
||||
Defined in: [src/core/Session.ts:91](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L91)
|
||||
|
||||
#### 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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L28)
|
||||
|
||||
***
|
||||
|
||||
### expires\_in
|
||||
|
||||
> **expires\_in**: `number`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:24](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
### interval
|
||||
|
||||
> **interval**: `number`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:25](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
### user\_code
|
||||
|
||||
> **user\_code**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:26](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
### verification\_url
|
||||
|
||||
> **verification\_url**: `string`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:27](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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"` \| `"on_response_received_commands_memo"` \| `"continuation_contents"` \| `"continuation_contents_memo"` \| `"refinements"` \| `"estimated_results"`\>
|
||||
|
||||
Defined in: [src/parser/types/ParsedResponse.ts:144](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/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/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L153)
|
||||
@@ -0,0 +1,23 @@
|
||||
[youtubei.js](../README.md) / ModifyChannelNotificationPreferenceRequest
|
||||
|
||||
# Type Alias: ModifyChannelNotificationPreferenceRequest
|
||||
|
||||
> **ModifyChannelNotificationPreferenceRequest** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:194](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L194)
|
||||
|
||||
## Properties
|
||||
|
||||
### params?
|
||||
|
||||
> `optional` **params**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:195](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L195)
|
||||
|
||||
***
|
||||
|
||||
### secondaryParams?
|
||||
|
||||
> `optional` **secondaryParams**: `string`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:196](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L196)
|
||||
19
docs/api/type-aliases/NextNavendpoint.md
Normal file
19
docs/api/type-aliases/NextNavendpoint.md
Normal file
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../README.md) / NextNavendpoint
|
||||
|
||||
# Type Alias: NextNavendpoint
|
||||
|
||||
> **NextNavendpoint** = `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:156](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L156)
|
||||
|
||||
## Properties
|
||||
|
||||
### urlEndpoint
|
||||
|
||||
> **urlEndpoint**: `object`
|
||||
|
||||
Defined in: [src/parser/types/CommandEndpoints.ts:157](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/types/CommandEndpoints.ts#L157)
|
||||
|
||||
#### url
|
||||
|
||||
> **url**: `string`
|
||||
17
docs/api/type-aliases/OAuth2AuthErrorEventHandler.md
Normal file
17
docs/api/type-aliases/OAuth2AuthErrorEventHandler.md
Normal file
@@ -0,0 +1,17 @@
|
||||
[youtubei.js](../README.md) / OAuth2AuthErrorEventHandler
|
||||
|
||||
# Type Alias: OAuth2AuthErrorEventHandler()
|
||||
|
||||
> **OAuth2AuthErrorEventHandler** = (`err`) => `void`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:33](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L33)
|
||||
|
||||
## Parameters
|
||||
|
||||
### err
|
||||
|
||||
[`OAuth2Error`](../youtubei.js/namespaces/Utils/classes/OAuth2Error.md)
|
||||
|
||||
## Returns
|
||||
|
||||
`void`
|
||||
19
docs/api/type-aliases/OAuth2AuthEventHandler.md
Normal file
19
docs/api/type-aliases/OAuth2AuthEventHandler.md
Normal file
@@ -0,0 +1,19 @@
|
||||
[youtubei.js](../README.md) / OAuth2AuthEventHandler
|
||||
|
||||
# Type Alias: OAuth2AuthEventHandler()
|
||||
|
||||
> **OAuth2AuthEventHandler** = (`data`) => `void`
|
||||
|
||||
Defined in: [src/core/OAuth2.ts:31](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L31)
|
||||
|
||||
## Parameters
|
||||
|
||||
### data
|
||||
|
||||
#### credentials
|
||||
|
||||
[`OAuth2Tokens`](OAuth2Tokens.md)
|
||||
|
||||
## Returns
|
||||
|
||||
`void`
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user