absidue
0dda97e0b0
perf: Cleanup some unnecessary uses of YTNode#key and Maybe ( #463 )
2023-08-06 19:15:47 -03:00
absidue
e370116092
fix(Playlist): Only try extracting the subtitle for the first page ( #465 )
2023-08-06 19:14:21 -03:00
LuanRT
3bc53a8c12
fix(parser): Allow any property in the RawResponse interface
2023-08-01 20:38:15 -03:00
absidue
0fa5a859ae
feat(YouTube Playlist): Add subtitle and fix author optionality ( #458 )
2023-07-30 15:59:39 -03:00
LuanRT
d91695a9ec
fix(SearchHeader): remove console.log
...
Oopsie!
2023-07-25 02:44:43 -03:00
LuanRT
6997982cf2
feat(parser): Add SearchHeader
...
We may want to remove the old SearchSubMenu node in the future but YouTube still uses it sometimes, so we will keep it for now.
Closes #452
2023-07-24 20:26:05 -03:00
absidue
18cbc8c038
feat(parser): Add PageHeader ( #450 )
2023-07-19 19:00:26 -03:00
absidue
1a034733f6
feat(toDash): Add option to include thumbnails in the manifest ( #446 )
...
* feat(toDash): Add option to include thumbnails in the manifest
* refactor: Move toDash function back to MediaInfo class
2023-07-18 02:08:02 -03:00
ChunkyProgrammer
c477b824c0
feat(parser): Add IncludingResultsFor ( #447 )
2023-07-18 01:53:44 -03:00
absidue
bdd98a3b9b
feat(Format): Populate audio language from captions when available ( #445 )
2023-07-16 17:54:26 -03:00
LuanRT
06750aaa74
chore: lint
2023-07-16 17:40:05 -03:00
LuanRT
708c5f7394
feat(parser): add MacroMarkersList ( #444 )
...
This should fix a few parsing issues that were happening after recent updates.
2023-07-16 17:38:16 -03:00
LuanRT
a9cdbf7010
feat(parser): Add ShowMiniplayerCommand ( #443 )
2023-07-16 17:34:42 -03:00
LuanRT
b50d1ef67d
fix(StructuredDescriptionContent): items can also be a HorizontalCardList
2023-07-16 17:00:36 -03:00
LuanRT
555d257459
feat(parser): Add CommentsSimplebox parser ( #442 )
2023-07-16 16:46:46 -03:00
ChunkyProgrammer
ae2557d15c
feat(parser): Add HashtagTile ( #440 )
2023-07-16 15:35:55 -03:00
ChunkyProgrammer
cffa868c6e
feat(parser): Add Quiz ( #437 )
2023-07-13 23:57:39 -03:00
ChunkyProgrammer
f267fcd8be
Add getReleases and getPodcasts to Channel ( #436 )
...
* feat(Channel): Add `getReleases` method
* feat(Channel): Add `getPodcasts` method
* Fix(Playlist): Parse `PlaylistCustomThumbnail`
2023-07-13 15:25:20 -03:00
absidue
1ca20836bf
perf(Format): Cleanup the xtags parsing ( #434 )
2023-07-11 15:45:42 -03:00
absidue
3500e92632
feat(toDash): Add color information ( #430 )
2023-07-10 21:25:48 -03:00
LuanRT
222dfce6bb
fix: incorrect node parser implementations ( #428 )
...
These were causing some issues in v5.2.0.
2023-07-03 21:58:00 -03:00
RikThePixel
4f9427d752
fix(Playlist): Add thumbnail_renderer on Playlist when response includes it ( #424 )
2023-06-28 17:12:06 -03:00
Emma
e434bb2632
fix(VideoInfo.ts): reimplement get music_tracks ( #409 )
...
* fix(VideoInfo.ts): reimplement `get music_tracks`
- Add parser classes to parse needed data
- Add `CarouselLockup`
- Add `EngagementPanelSectionList`
- Add `InfoRow`
- Add `StructuredDescriptionContent`
- Add `VideoDescriptionMusicSection`
- Add `VideoDescriptionHeader`
- Add `Factoid`
- Add `ExpandableVideoDescriptionBody`
- Add `AdsEngagementPanelContent`
- Add `engagement_panels` to raw and parsed next responses
- Add `engagement_panels` parsing code to `parser.ts`
* Check for song inside of video_lockup first before checking info_rows
* Add support for pulling artist ids out of music_tracks
- Add support for WRITERS InfoRow
- Check for video id inside of naviagation endpoint on info_row metadata
* Add `AdsEngagementPanelContent` to ignore list
* Switch `map => parseItem` to `parseArray`
* Use `Text` && `NavigationEndpoint`
* Replace `String` with `Text` in `ExpandableVideoDescriptionBody`
2023-06-28 06:54:55 -03:00
absidue
a11e5962c6
feat(VideoDetails): Add is_post_live_dvr property ( #411 )
2023-05-31 19:12:19 -03:00
Jake Reid Browning
77b39c79ee
feat(ytmusic): Add support for YouTube Music mood filters ( #404 )
...
* add filters property to ytmusic HomeFeed
* remove implied type
* add applyFilter to HomeFeed
* add test
* remove section_list var
2023-05-23 15:00:05 -03:00
absidue
7c530d30ee
chore(parser): Remove extra Array.from call ( #407 )
2023-05-20 18:00:15 -03:00
absidue
1e07a184ff
perf(Search): Speed up results parsing ( #408 )
2023-05-20 17:57:48 -03:00
absidue
046103a4d8
feat(ReelItem): Add accessibility label ( #401 )
2023-05-14 01:09:51 -03:00
absidue
b1f19f16ac
refactor(constants): Use namespace import internally ( #396 )
2023-05-06 15:46:20 -03:00
LuanRT
3b0498b68b
fix(Video): typo causing node parsing to fail
2023-05-02 03:21:02 -03:00
absidue
7c0abfccd7
fix(VideoInfo): Use microformat view_count when videoDetails view_count is NaN ( #393 )
2023-04-30 17:21:57 -03:00
LuanRT
dd21f8c75a
feat(NavigationEndpoint): parse content prop
...
This usually has dialog nodes.
2023-04-29 01:54:34 -03:00
LuanRT
3a7e58d2b9
chore(eslint): enforce the use of import type
2023-04-28 22:35:09 -03:00
LuanRT
95e0294eab
refactor!: overhaul core classes and remove redundant code ( #388 )
...
* feat(Player.ts): append `cver` to deciphered URLs
* refactor(Actions.ts): remove redundant `getVideoInfo` function
This is leftover code from previous versions. It had many problems and it is no longer required.
* fix(Kids.ts): remove unneeded `await` keywords
* dev: add more endpoints
* chore: update deps
* refactor: separate endpoints into files
* dev: improve types
* dev: add more endpoints
* refactor: put clients in a separate directory inside `core`
* chore: lint
* refactor: move mixins and managers to separate folders
* chore: fix tests
* dev: add `CreateVideoEndpoint`
* chore: clean up
* chore: lint
* chore: add some comments
* chore: remove unnecessary test
* dev: add `playlist/CreateEndpoint`
* dev: add `playlist/DeleteEndpoint`
* dev: add `browse/EditPlaylistEndpoint`
* fix(parser): add a few checks to avoid parsing errors
2023-04-28 19:01:04 -03:00
LuanRT
257bd475a0
refactor: clean up parser and tests ( #387 )
...
* tests: improve coverage
* refactor: clean up nodes
* chore: lint
* feat(parser): ignore `BrandVideoShelf`
Seems to be used for ads.
* feat(parser): ignore `BrandVideoSingleton` too
2023-04-23 06:37:33 -03:00
LuanRT
05de3ec97a
feat(GridVideo): add upcoming, upcoming_text, is_reminder_set and buttons
...
Closes : #380
2023-04-13 07:50:18 -03:00
LuanRT
a0566969ba
feat(ToggleMenuServiceItem): parse default nav endpoint
2023-04-13 06:10:17 -03:00
LuanRT
a9cad49333
feat(ytmusic): add taste builder nodes ( #383 )
...
Adds MusicTastebuilderShelf and MusicTastebuilderShelfThumbnail. These usually appear on new accounts.
2023-04-13 05:37:49 -03:00
LuanRT
096bf362c9
feat(MusicResponsiveListItem): make flex/fixed cols public ( #382 )
...
Plus refactor a few things.
2023-04-13 05:35:46 -03:00
LuanRT
ec9c0979f5
refactor: fix inconsistencies in the guide nodes ( #379 )
2023-04-11 05:52:47 -03:00
LuanRT
ce9d9c56b4
feat(parser): ignore PrimetimePromo node
...
This node is used to display advertisements.
2023-04-09 02:51:29 -03:00
absidue
c9135e66d3
feat(PlaylistVideo): Extract video_info and accessibility_label texts ( #376 )
2023-04-07 20:43:20 -03:00
LuanRT
be71d7c937
chore: fix some inconsistencies
2023-03-28 21:22:12 -03:00
LuanRT
470d8d9406
fix(PlayerCaptionsTracklist): parse props only if they exist in the node
...
Fixes #372
2023-03-28 20:50:50 -03:00
absidue
2c5907f80f
fix(Search): Return search results even if there are ads ( #373 )
2023-03-27 15:00:57 -03:00
absidue
bd35faa597
fix(parser): Make Video.is_live work on channel pages ( #368 )
2023-03-22 18:02:21 -03:00
LuanRT
62a68b207c
chore(docs): fix typo
2023-03-17 18:19:10 -03:00
LuanRT
1d9587e8c1
feat(ShowingResultsFor): parse all props
2023-03-17 07:27:00 -03:00
LuanRT
955c8010a6
chore: lint
2023-03-16 04:53:48 -03:00
LuanRT
b2269deb79
chore: add Button type
...
Oops :D
2023-03-16 04:52:07 -03:00