Commit Graph

79 Commits

Author SHA1 Message Date
LuanRT
1efbef6f49 chore(ytmusic): simplify home feed 2022-06-17 16:32:13 -03:00
LuanRT
4e1f6af736 chore: update jsdoc comments 2022-06-17 16:19:52 -03:00
LuanRT
98e7afda87 feat: add suppory for YouTube Music's “Explore” tab 2022-06-17 16:17:24 -03:00
LuanRT
e0546944a8 chore: fix typo 2022-06-16 20:14:31 -03:00
LuanRT
d246008eab chore: add other InnerTube API urls 2022-06-16 20:10:11 -03:00
LuanRT
455556ba89 feat: add all watch history feed action renderers 2022-06-16 16:09:29 -03:00
LuanRT
eaa16244d2 fix(analytics): rename old Thumbnail module path 2022-06-16 15:26:00 -03:00
LuanRT
919a35d024 feat: wrap Library sections around Proxy trap 2022-06-16 15:06:31 -03:00
Daniel Wykerd
60075f8726 fix: chooseFormat filtering improvements 2022-06-16 13:46:43 -03:00
LuanRT
d6bbe8f183 fix(linter): remove unneeded vars and add jsdoc 2022-06-15 23:29:30 -03:00
LuanRT
28d51fcc4f perf: use getBasicInfo() 2022-06-15 23:29:30 -03:00
LuanRT
e8a81084e6 fix(ytmusic): rename old class types 2022-06-15 23:29:30 -03:00
Daniel Wykerd
ec5a2aa7fd fix: decipher 2022-06-15 23:29:30 -03:00
Daniel Wykerd
b594dad510 fix: missing import 2022-06-15 23:29:30 -03:00
Daniel Wykerd
6d7609c32a feat: download video directly from VideoInfo
As suggested in #45, this also implements a new "best" and
"bestefficiency" format selector.
2022-06-15 23:29:30 -03:00
LuanRT
75e0453f69 fix: stringify ChipCloudChip text
This is required in order for `selectFilter()` to work properly
2022-06-15 19:55:45 -03:00
LuanRT
f6af3faa41 feat: add ThumbnailOverlayInlineUnplayable renderer 2022-06-15 19:36:44 -03:00
LuanRT
3458bb422a feat: add ThumbnailOverlayEndorsement, #75 2022-06-15 19:22:52 -03:00
LuanRT
521029de52 fix: ignore DisplayAd renderer 2022-06-15 19:14:02 -03:00
Daniel Wykerd
4a102878d8 refactor!: feature complete contents parser
* feat: allow setting search params to custom value

This is useful for getting results other than videos, like playlists and
channels.

* feat: add initial parsers for common renderers

* feat: artist search renderers

Added common renderers used when searching artists

* refactor: snake_case

* feat: channel home page renderers

* feat: parsers for more channel tabs

These are needed for channel tabs: Videos, Playlists, Community,
Channels

Additionally, do not merely return text as string, since they may
include links which may be navigated to

* feat: channel full metadata

* feat: renderers for playlists

* refactor!: Actions.browse

Channels should be viewable when not logged in, also added 'navigation'
type for use in NagivationEndpoint in the future.

* feat: home feed parsers

* feat: watch page renderers

* feat: start implementing HomeFeed API

The HomeFeed class remains compatible with the existing API

* feat: generate types using tsc and jsdoc

* feat: browse continuations from navigationEndpoint

* fix: Actions moved to session

This follows commit 1bfe2676d8

* fix: add more typescript config

* chore: use correct spaces and quotes

* feat: Trending API

* feat: reimplement existing channel API

* feat: add base video feed class

* feat: get channel videos

* feat: channel playlists

* feat: get channel community posts

* feat: get channels from channel

* feat: get channel about page data

* feat: add missing channel parsers

this commit also adds regenerated types I've neglected to push

* feat: initial playlist reimplementation

* feat: complete playlist reimplementation

* refactor: change InnertubeError to ES6 class

* fix: some unresolved types

* chore: update types

* feat: wip video details

* feat: get music tracks in video

Possibly an implementation for issue #48

* refactor:  merge parsers (wip)

This is a work in progress.

* fix: add pnpm to ignore

* fix: merge issues

* fix: merge Video and VideoInfo

VideoInfo should be working again.
Also remove the old parsers.

* feat: set matching in Simplify

Still looking into removing Simplify

* fix: ContinuationItem

This `call` method allows for traversal of continuations with the Simplify API
but may be removed in the future

* fix: optionally returned data

* revert: replace ContinuationItem with main

* feat(parser): contents memoization by classname

* feat(channel): working without Simplify

* feat(feed): working continuations

* fix: liniting issues

* feat(feed): filterable feed for home

* feat(feed): tabbed feed for trending & channel

* refactor: remove Simplify completely

* chore: lint

* refactor: alias `items` with `contents`

* refactor: `Search` to extend `Feed`

* fix: Search working

Also added MenuServiceItemDownload

* refactor: move `Channel` and `Playlist`

* fix: pass all tests

* fix: linting errors
2022-06-15 18:31:34 -03:00
LuanRT
43470efb6e chore: remove unused vars - x2 2022-06-15 18:09:25 -03:00
LuanRT
0067ccd438 chore: remove unused vars 2022-06-15 16:49:25 -03:00
LuanRT
62811bd8f1 feat: implement SecondarySearchContainer renderer 2022-06-15 16:46:05 -03:00
LuanRT
71309a0788 fix: oopsie 2022-06-14 20:10:12 -03:00
LuanRT
7e6f944a4b feat: wrap format arrays around proxy trap
This allows users to easily find a format.

Ex:
```js
info.streaming_data.adaptive_formats.get({ quality_label: "720p" });
```
2022-06-14 19:42:44 -03:00
LuanRT
3d0b217743 fix: do not return null if a renderer is not found
This caused the parser to return null when ads or renderers that are not implemented are present.
2022-06-14 17:54:31 -03:00
LuanRT
3c98244c3b fix: refinement cards getter returning undefined 2022-06-14 17:50:12 -03:00
LuanRT
54a50d5704 chore(docs): remove unneeded tags 2022-06-14 15:08:37 -03:00
LuanRT
49688a0ad6 chore: fix invalid jsdoc comments 2022-06-14 15:03:45 -03:00
LuanRT
3f22a44ba9 feat: accurately emulate like/dislike button clicks 2022-06-13 17:33:39 -03:00
LuanRT
6aa30648fe chore: update type definitions 2022-06-13 16:23:49 -03:00
LuanRT
5f08be7991 feat: add support for retrieving YouTube Music's home feed 2022-06-13 07:38:49 -03:00
LuanRT
7142a63b1d feat(ytmusic): add support for retrieving up next 2022-06-13 05:20:56 -03:00
LuanRT
b6a898f733 feat: add full support for refinement cards 2022-06-13 04:20:49 -03:00
LuanRT
b3da6b11f8 chore: use null as default value 2022-06-11 08:09:26 -03:00
LuanRT
81bbbaebe2 fix: isn't always available 2022-06-11 08:06:50 -03:00
LuanRT
2254b69670 feat: add support for retrieving YTMusic “related” tab
+ finish lyrics parser and implement all needed YouTube Music renderers
2022-06-11 08:00:58 -03:00
LuanRT
a7ee98820a chore: update type definitions 2022-06-10 17:16:58 -03:00
LuanRT
c7474d7087 feat: add music search filters protobuf message
This allows users to choose filters they want without having to rely on the `selectFilter()` method.
2022-06-10 17:12:06 -03:00
LuanRT
d167a0b807 feat: add support for music search filters 2022-06-10 15:07:23 -03:00
LuanRT
53965630b7 dev: check if renderer should be ignore before parsing
Will mostly be used to ignore ad renderers.
2022-06-10 04:32:24 -03:00
LuanRT
9840acc63d feat: add support for retrieving watch next feed continuation 2022-06-10 03:57:05 -03:00
LuanRT
1676b11b0e chore: fix typos 2022-06-10 03:37:36 -03:00
LuanRT
afa39753d5 chore: add jsdoc comments to selectFilter method 2022-06-10 03:34:55 -03:00
LuanRT
659df51115 feat(VideoInfo): add support for selecting feed filters 2022-06-10 03:00:25 -03:00
LuanRT
dab89545fe chore: remove unused vars 2022-06-10 01:56:22 -03:00
LuanRT
73de36b946 feat: add merchandise parser 2022-06-10 01:50:21 -03:00
LuanRT
049fd16aab docs: update jsdoc comments 2022-06-09 15:19:46 -03:00
LuanRT
bcaa02f10c chore: update parser's readme 2022-06-09 15:02:28 -03:00
LuanRT
153238aefc dev: finish YouTube Music search parsers 2022-06-09 14:33:26 -03:00