absidue
fcd3044982
feat(parser): Support new like and dislike nodes ( #557 )
2023-12-21 19:02:19 -03:00
LuanRT
4e67240ff9
chore(FeedNudge): Add Text import
2023-12-04 15:51:09 -03:00
absidue
48a5d4e7c3
feat(Thumbnail): Support sources in Thumbnail.fromResponse ( #552 )
2023-12-04 13:50:08 -03:00
LuanRT
ed2cbf8a13
chore: lint
2023-12-01 00:50:26 -03:00
LuanRT
4261915fd4
fix(Library)!: Add support for the new layout and remove profile & stats info
2023-12-01 00:49:22 -03:00
LuanRT
f74ed5a1cf
fix(StructuredDescriptionContent): Add ReelShelf to list of possible nodes
2023-11-30 23:36:32 -03:00
LuanRT
5ae15be63d
fix(VideoAttributeView): Fix image and overflow_menu_on_tap props
2023-11-30 23:34:31 -03:00
Konstantin
a32aa8c633
feat: Add Shorts endpoint ( #512 )
...
* chore: first try for shorts endpoints
* chore: add shorts to index
* fix: fix code style
* chore: fix suggestions
* fix: fix code style with spaces on curly brackets
* chore: add curly rule to eslint
* chore: run request in parallel
* chore: remove console.logs and add other expect tests
* chore: apply eslint suggestions
* Update ReelPlayerOverlay.ts
* Update VideoInfo.ts
* chore: remove console.log from tests
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-11-30 22:58:11 -03:00
absidue
95ed60207a
perf: Use named Parser import, to allow bundlers to create direct function references ( #535 )
...
Co-authored-by: Luan <luan.lrt4@gmail.com >
2023-11-30 22:31:59 -03:00
absidue
b50e2001aa
chore: Clean up so unneeded private properties ( #540 )
2023-11-30 22:21:14 -03:00
absidue
b60930a0c1
feat(parser): Add ChannelOwnerEmptyState ( #541 )
2023-11-30 22:12:11 -03:00
absidue
c66eb1fecf
feat(Channel): Support new about popup ( #537 )
...
* feat(Channel): Support new about popup
* chore: Minor cleanup
* fix(concatMemos): Merge duplicate nodes instead of overwriting
* fix(Feed): `has_continuation` and `getContinuation()` avoid header continuations
* chore(Channel): Remove unused import
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-11-30 22:06:25 -03:00
JellyBrick
ff4ab1680e
feat: add VideoAttributeView ( #531 )
...
* feat: add `VideoAttributeView`
* fix: remove `logging_directives`
See https://github.com/LuanRT/YouTube.js/pull/531#discussion_r1375315550
* fix: Update src/parser/classes/VideoAttributeView.ts
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: Luan <luan.lrt4@gmail.com >
2023-11-30 21:38:51 -03:00
JellyBrick
9007b65237
feat(Parser): Add ClipSection ( #532 )
...
* feat: add `ClipSection`
* fix: Update src/parser/classes/ClipCreation.ts
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
2023-11-30 21:29:18 -03:00
JellyBrick
e02139532b
feat: add FeedNudge ( #533 )
...
* feat: add `FeedNudge`
see https://github.com/LuanRT/YouTube.js/actions/runs/6679090140/job/18150827068?pr=532
* fix: lint
* fix: update parser-map
2023-10-29 09:51:25 -03:00
Ryan Sandbach
9ab528ec82
feat(Kids): Add blockChannel command to easily block channels ( #503 )
...
* Add blockChannel command to support easily blocking content for supervised accounts.
* Moved blockChannel functionality to the Kids client and updated API docs.
* Fix whitepsace issues.
* Resolve remaining linting errors.
* Avoid changing interaction manager. Remove comment for ToggleButton change.
* chore: clean up
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-10-28 14:28:17 -03:00
LuanRT
a45273fec4
feat(parser): Add PlayerOverflow and PlayerControlsOverlay
2023-10-28 13:17:26 -03:00
absidue
bc97e07ac6
feat(UpdateViewerShipAction): Add original_view_count and unlabeled_view_count_value ( #527 )
2023-10-21 12:39:03 -03:00
Luan
69702085c6
refactor: Move transcript logic to MediaInfo ( #511 )
...
* refactor: Move transcript logic to `MediaInfo`
+ Add support for retrieving different languages.
* docs: Update and add examples
2023-09-17 22:17:14 -03:00
absidue
d2959b3a55
perf: Cache deciphered n-params by info response ( #505 )
2023-09-17 18:52:32 -03:00
LuanRT
fba3fc9714
fix(BackstagePost): vote_button type mismatch
2023-09-10 02:06:01 -03:00
Luan
f94ea6cf91
feat: Add support for retrieving transcripts ( #500 )
...
* feat: Add support for retrieving transcripts
* chore: lint
* chore: update docs
* chore: Do not include nodes in errors thrown
* chore: Improve error messages
* fix(ExpandableMetadata): `expanded_content` type mismatch
* chore: lint
2023-09-10 01:50:30 -03:00
absidue
91de6e5c0e
feat(ChannelMetadata): Add music_artist_name ( #497 )
2023-08-31 20:29:58 -03:00
absidue
c26972c42a
fix(CompactMovie): Add missing import and remove unnecessary console.log ( #496 )
2023-08-31 20:28:25 -03:00
absidue
0412fa05ff
fix(Format): Fix is_original always being true ( #492 )
2023-08-29 14:23:08 -03:00
absidue
2eed1726d5
feat(parser): Add CompactMovie ( #487 )
2023-08-27 16:29:50 -03:00
absidue
8b69587787
feat(parser): Add AlertWithButton ( #486 )
2023-08-27 16:29:23 -03:00
absidue
ed7be2a675
feat(parser): Add ChannelHeaderLinksView ( #484 )
2023-08-27 16:28:49 -03:00
LuanRT
90be877d28
fix(SearchSubMenu): Groups not being parsed due to a typo
2023-08-22 09:06:06 -03:00
LuanRT
f7614634b6
chore: lint
2023-08-18 08:26:39 -03:00
LuanRT
815e54b854
feat(MusicResponsiveListItem): Detect non music tracks properly
...
This should make it easier to identify podcast episodes.
2023-08-18 08:15:04 -03:00
LuanRT
f7666051f6
chore(parser): update MusicCarouselShelf
2023-08-18 08:11:04 -03:00
LuanRT
494ee8776a
feat(parser): add MusicMultiRowListItem
...
Used to display podcasts.
2023-08-18 08:09:04 -03:00
Daniel Wykerd
87ed3960ff
refactor!: replace unnecessary classes with pure functions ( #468 )
...
* deps: update linkedom
* refactor!: remove YTNodeGenerator in favour of namespaced pure functions
BREAKING CHANGES:
- Removes `YTNodeGenerator` from `import('youtubei.js').Generator` and exposes its functions directly in `import('youtubei.js').Generator`
* refactor!: replace Parser class with pure functions
- Remove Parser class in favour of pure functions
- Merge duplicate classes `AppendContinuationItemsAction` into a single class
- Move continuation parsers into a seperate file
- Add better custom logging support to parser methods as per issue #460
* refactor!: replace Proto class with pure functions
* chore: update package-lock.json
* refactor!: replace FormatUtils with pure functions and JSX components
- Replace linkedom DASH manifest generation with a dependency free JSX implementation
- Remove FormatUtils class in favour of pure functions
- Remove DOMParser requirement
- Remove duplicate types
* refactor: implement changes from #462
* chore: lint
* fix: deno support
* fix: render valid xml document
* fix: wrong function call in DashUtils
* fix: typo in parser
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
* refactor!: move streaming info logic into seperate function
This allows users to access the same data available in the dash manifest while also simplifying the manifest generation
* chore: lint
* refactor: readability improvements & fixes
Remove redundant getAudioTrackGroups
General readability improvements in StreamingInfo.ts
Share response object between `getBitrate` and `getMimeType` as to not make duplicate requests
* build: remove unnecessary step in deno build
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
* refactor: move types to `types` directory
* docs: add back comments lost during refactor
* chore: lint
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
2023-08-18 06:49:58 -03:00
absidue
0dda97e0b0
perf: Cleanup some unnecessary uses of YTNode#key and Maybe ( #463 )
2023-08-06 19:15:47 -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
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