Compare commits

...

215 Commits

Author SHA1 Message Date
Basil
47b1df7529 fix(ThumbnailBadgeView): Parse icon (#1174) 2026-05-29 09:20:26 -03:00
Luan
86f28b3c17 chore(readme): minor rewording 2026-05-13 00:57:16 -03:00
LuanRT
d9a35c70c0 chore: catch up with origin/main 2026-05-12 23:02:37 -03:00
LuanRT
0a82c8bd99 chore(docs): Regen API ref 2026-05-12 23:01:15 -03:00
Luan
4791deed28 chore: fix link to contributing guidelines in readme (round 2)
That didn't work as well as I expected.
2026-05-12 22:42:11 -03:00
Luan
b8545f538d chore: fix link to contributing guidelines in README 2026-05-12 22:40:20 -03:00
Luan
bd888f12aa chore(readme): Remove more redundant text
Why did I even write this garbage? Guess I'll never know.
2026-05-12 22:37:42 -03:00
Luan
4af77d4f5d chore: fix punctuation and add GitHub Sponsors badge
Corrected punctuation and added a badge for Absidue.
2026-05-12 22:10:32 -03:00
Luan
f66d782276 chore: simplify CONTRIBUTING.md
Old one was way too verbose, and contained weird, unnecessary wording.
2026-05-12 22:02:28 -03:00
Luan
717c67db67 chore: refine lang in the readme a bit 2026-05-12 21:48:29 -03:00
dependabot[bot]
1f47665e70 chore(deps): bump the npm_and_yarn group across 1 directory with 5 updates (#1170)
Bumps the npm_and_yarn group with 3 updates in the /examples/browser/web directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [picomatch](https://github.com/micromatch/picomatch) and [undici](https://github.com/nodejs/undici).


Updates `vite` from 5.4.20 to 6.4.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `postcss` from 8.5.1 to 8.5.14
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.1...8.5.14)

Updates `rollup` from 4.30.1 to 4.60.3
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.30.1...v4.60.3)

Removes `undici`

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.14
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.60.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: undici
  dependency-version: 
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 21:33:02 -03:00
dependabot[bot]
12d07c6b16 chore(deps-dev): bump ts-proto from 2.11.5 to 2.11.8 (#1137)
Bumps [ts-proto](https://github.com/stephenh/ts-proto) from 2.11.5 to 2.11.8.
- [Release notes](https://github.com/stephenh/ts-proto/releases)
- [Changelog](https://github.com/stephenh/ts-proto/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stephenh/ts-proto/compare/v2.11.5...v2.11.8)

---
updated-dependencies:
- dependency-name: ts-proto
  dependency-version: 2.11.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 19:36:13 -03:00
dependabot[bot]
847863c4eb chore(deps): bump @bufbuild/protobuf from 2.11.0 to 2.12.0 (#1134)
Bumps [@bufbuild/protobuf](https://github.com/bufbuild/protobuf-es/tree/HEAD/packages/protobuf) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/bufbuild/protobuf-es/releases)
- [Commits](https://github.com/bufbuild/protobuf-es/commits/v2.12.0/packages/protobuf)

---
updated-dependencies:
- dependency-name: "@bufbuild/protobuf"
  dependency-version: 2.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 19:26:38 -03:00
LuanRT
853a36307b feat(Parser): Add HypeFanCreditsSectionView 2026-05-12 19:11:35 -03:00
dependabot[bot]
358f4258bc chore(deps): bump the npm_and_yarn group across 1 directory with 4 updates (#1169)
Bumps the npm_and_yarn group with 4 updates in the / directory: [flatted](https://github.com/WebReflection/flatted), [picomatch](https://github.com/micromatch/picomatch), [postcss](https://github.com/postcss/postcss) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `flatted` from 3.4.1 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

Updates `postcss` from 8.5.8 to 8.5.14
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.14)

Updates `vite` from 7.3.1 to 7.3.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.14
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 17:29:55 -03:00
Luan
f748b8b362 feat(Search): Add support for refinement chips (#1167)
Also, this removes the old code used for refinement cards. Doesn't look like YouTube uses them anymore.
2026-05-12 17:27:55 -03:00
Luan
430fc70888 refactor(cache): Get rid of custom LZW compression (#1168)
It's just buggy and not very efficient, and I can't realistically improve it. Compression algorithms are complicated and would require quite a bit of effort to get right...

fflate is tiny, works anywhere, and is more efficient.

Also, here is an interesting article about compression from fflate's author :  https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
2026-05-12 17:25:59 -03:00
LuanRT
03cb4d6801 chore(docs): update 2026-05-07 14:38:16 -03:00
Luan
faaf5fc5c1 fix(Channel): Add support for new feed filter nodes (#1163)
* feat(Feed): Update `getVideosFromMemo` to support `LockupView` nodes

* feat(parser): Add `DownloadListItemView` renderer parser

* feat(FilterableFeed): Add support for `ChipView` nodes

* feat(Channel): Add support for new feed filter system

Honestly the whole Channel class needs a cleanup. Maybe I'll do that at some point in the future.
2026-05-04 21:04:15 -03:00
LuanRT
d92819b78b chore: fix YouTube Music tests
The ID changed apparently.
2026-05-03 18:25:05 -03:00
LuanRT
cf5412986b feat(ListView): Add some missing fields 2026-03-20 17:25:42 -03:00
LuanRT
37a4808693 feat(parser): Add ShowSheetCommand and SheetView 2026-03-20 15:02:53 -03:00
LuanRT
e9bc0d00dd chore(ChipBarView): Import RendererContext directly 2026-03-19 11:24:05 -03:00
LuanRT
39158838f1 feat(ChipBarView): Parse renderer_context 2026-03-19 11:23:05 -03:00
LuanRT
32623de485 feat(ChipView): Improve types 2026-03-19 11:11:00 -03:00
Ian Brown
2a33fbc85f feat(Parser): Add ThumbnailOverlayTitleView and PageIndicatorView classes (#1120)
Add two missing parser classes that were being JIT-generated at runtime:

- ThumbnailOverlayTitleView: Displays title/subtitle overlays on thumbnails
- PageIndicatorView: Tracks pagination state in carousels (indicator count and selected index)

These are encountered when parsing Mix/Playlist responses.
2026-03-16 16:44:35 -03:00
github-actions[bot]
5cc278fe6d chore(main): release 17.0.1 (#1155)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-16 16:02:22 -03:00
LuanRT
3cae95c531 chore(release): release 17.0.1
Release-As: 17.0.1
2026-03-16 16:00:57 -03:00
LuanRT
8bd1534cd5 chore(release-please): update permissions and node version for release workflow 2026-03-16 15:53:00 -03:00
github-actions[bot]
790a54c4ab chore(main): release 17.0.0 (#1093) 2026-03-16 19:37:18 +01:00
LuanRT
66300310d1 chore: update deps 2026-03-16 13:26:09 -03:00
Dave Nicolson
7e10ac9873 fix(history): Add support for LockupView content (#1075)
* fix(history): Add support for LockupView content

* Use YTNode is() method
2026-03-16 13:18:50 -03:00
Dave Nicolson
5c7b1ba25d fix(FlexibleActionsView): Update ActionRow actions type (#1129) 2026-03-16 13:17:22 -03:00
Luan
8130f808d9 fix(parser): Resolve some old parser issues (#1154)
Should reduce parser warning spam quite a bit.

Closes #653
Closes #781
Closes #1121 (minus unrelated pot issue)
Closes #978
Closes #1053
Closes #695
Closes #1098
2026-03-16 13:14:09 -03:00
LuanRT
b8d15cb366 chore(parser): Add 'GenAiFeedbackFormView' to ignored list 2026-03-16 11:26:32 -03:00
Luan
da1fac2d29 feat(parser): Add VideoSummaryContentView and VideoSummaryParagraphView (#1153)
* feat(parser): Add `VideoSummaryContentView` and `VideoSummaryParagraphView`

* fix(ExpandableMetadata): Update `expanded_content` type
2026-03-16 11:22:00 -03:00
LuanRT
543b94c3e4 fix(ChannelSubMenu): Handle potential undefined values 2026-03-16 10:11:02 -03:00
LuanRT
19b33ea36e fix(ContentMetadataView): metadataRows can be undefined 2026-03-16 10:10:36 -03:00
LuanRT
561e69d8b7 fix(workflow): Add id-token permission for release-please job 2026-03-16 09:49:41 -03:00
Luan
d8558afd58 fix(Player): Add support for new variants (#1152)
* fix(JsAnalyzer): Add prototype alias tracking, improve scoping, and add es6 class support

* fix(JsExtractor): Allow `ClassExpression` and extract prototype assignments

* feat(helpers): Misc changes & improve argument handling

* fix(matchers): Add new nsig matcher

* feat(utils): Add `NSIG_PROCESSOR_FN`

* fix(Player): Update player URL and integrate new nsig processing

* chore(Constants): Update TV client version to 7.20260311.12.00 (ignore, unrelated) - Unrelated. Updated it for testing some things.

* chore(JsAnalyzer): Remove commented debug log (oops...)

* chore(JsExtractor): Correct typo in comment

* chore: rename some stuff

* chore: lint

* chore: Simplify code in parseFunctionArguments
2026-03-16 07:16:22 -03:00
PikachuEXE
5da9dd37a7 fix(Parser): Fix ChannelSubMenu parsing (#1144) 2026-03-15 23:41:55 +01:00
Cameron
c712c546c3 fix(Session): Add the ID for ANDROID_VR, remove the mistaken ANDROID_TV key. (#1151) 2026-03-15 10:07:48 +01:00
Cameron
f9bd5d0e8d feat(Session): Add the ANDROID_VR client (#1149) 2026-03-14 10:29:26 +01:00
lovegaoshi
b989260d0c chore(constants): update android client version (#1145) 2026-03-04 06:47:36 +01:00
absidue
e83039637e feat(Search)!: Update search filters to match YouTube changes (#1136) 2026-02-08 23:47:34 +01:00
absidue
3b11b1c986 chore(constants): Update some hardcoded client versions 2026-02-08 23:00:37 +01:00
dependabot[bot]
40a7fbacf0 chore(deps-dev): bump typescript-eslint from 8.46.0 to 8.54.0 (#1130) 2026-02-05 21:33:55 +01:00
dependabot[bot]
341ae95065 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#1133) 2026-02-05 19:50:28 +01:00
Dave Nicolson
3df4c61bd7 fix(Innertube): getChannel() if subscribed (#1128) 2026-01-31 22:58:12 +01:00
dependabot[bot]
3e90c8358c chore(deps-dev): bump js-yaml (#1126)
Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml).


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:42:38 +01:00
absidue
1a4d4876c4 chore(dev-deps): Remove unused @types/glob dependency (#1127) 2026-01-30 19:37:51 +01:00
dependabot[bot]
7f9efec1f3 chore(deps-dev): bump @types/node from 24.7.2 to 25.0.3 (#1109)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.7.2 to 25.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:28:25 +01:00
absidue
7c144ee013 fix(Innertube)!: Remove getTrending as YouTube removed the trending feed (#1114) 2026-01-30 19:27:31 +01:00
dependabot[bot]
b78c1aaede chore(deps-dev): bump @typescript-eslint/parser from 8.46.0 to 8.51.0 (#1110)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.46.0 to 8.51.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:26:59 +01:00
dependabot[bot]
3be87aa4ec chore(deps-dev): bump globals from 16.4.0 to 17.0.0 (#1108)
Bumps [globals](https://github.com/sindresorhus/globals) from 16.4.0 to 17.0.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.4.0...v17.0.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:26:35 +01:00
dependabot[bot]
29eaad9db6 chore(deps-dev): bump vite in the npm_and_yarn group across 1 directory (#1116)
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.1.5 to 7.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:26:05 +01:00
dependabot[bot]
7323b70d03 chore(deps-dev): bump eslint from 9.37.0 to 9.39.2 (#1111)
Bumps [eslint](https://github.com/eslint/eslint) from 9.37.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.37.0...v9.39.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-30 19:23:26 +01:00
Luan
458f881043 feat(StreamingInfo): Label Voice Boost audio streams (#1105)
* feat(StreamingInfo): Label Voice Boost audio streams

* chore(StreamingInfoOptions): Clarify vb desc a bit

* fix(StreamingInfoOptions): Fix `label_original` description

* chore: lint
2025-12-27 15:29:08 -03:00
Luan
769721c193 feat(Format): Add support for Voice Boost & Super Resolution formats (#1092) 2025-11-15 19:42:31 -03:00
Luan
e140944dd9 chore(JsAnalyzer.ts): Add a comment for clarity
+ fix the other comment
2025-10-27 02:43:06 -03:00
github-actions[bot]
6ce981ced9 chore(main): release 16.0.1 (#1074)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-16 08:04:53 -03:00
LostMyCode
ca05eab0c3 fix(FormatUtils#download): Add missing await for format.decipher() call in download function
The format.decipher() method returns a Promise<string>, but was being called without await. This could cause the format_url variable to be a Promise object instead of the expected URL string, leading to errors in subsequent fetch operations.
2025-10-16 08:03:38 -03:00
Luan
9b74ec59c8 chore(deps): change Dependabot schedule to weekly
Change Dependabot update frequency from daily to weekly.
2025-10-13 14:02:16 -03:00
dependabot[bot]
0f4bada34d chore(deps-dev): bump cpy-cli from 4.2.0 to 6.0.0 (#1069)
Bumps [cpy-cli](https://github.com/sindresorhus/cpy-cli) from 4.2.0 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/cpy-cli/releases)
- [Commits](https://github.com/sindresorhus/cpy-cli/compare/v4.2.0...v6.0.0)

---
updated-dependencies:
- dependency-name: cpy-cli
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 14:00:33 -03:00
dependabot[bot]
57f92e1554 chore(deps-dev): bump esbuild from 0.25.6 to 0.25.10 (#1067)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.6 to 0.25.10.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.6...v0.25.10)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 14:00:19 -03:00
dependabot[bot]
9113ee9995 chore(deps-dev): bump @types/node from 24.0.14 to 24.7.2 (#1070)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.0.14 to 24.7.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.7.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 14:00:03 -03:00
dependabot[bot]
e53ede0b23 chore(deps-dev): bump ts-proto from 2.2.0 to 2.7.7 (#1071)
Bumps [ts-proto](https://github.com/stephenh/ts-proto) from 2.2.0 to 2.7.7.
- [Release notes](https://github.com/stephenh/ts-proto/releases)
- [Changelog](https://github.com/stephenh/ts-proto/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stephenh/ts-proto/compare/v2.2.0...v2.7.7)

---
updated-dependencies:
- dependency-name: ts-proto
  dependency-version: 2.7.7
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 13:59:19 -03:00
github-actions[bot]
9558da36f7 chore(main): release 16.0.0 (#1041)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-12 14:32:07 -03:00
Luan
d4e4683d94 feat(Session): Add fail_fast option (#1066) 2025-10-12 14:15:00 -03:00
Luan
7eb062bf49 chore: fix linter 2025-10-12 13:15:56 -03:00
absidue
44a5423ae7 build(gen-parser-map): Replace glob with built-in readdirSync (#1065) 2025-10-12 13:02:47 -03:00
Luan
a9f19151b6 chore: regen docs 2025-10-12 12:09:24 -03:00
Luan
0733f60b57 chore: Use latest version of typedoc-plugin-markdown 2025-10-12 12:03:26 -03:00
Luan
41b810629b chore: Update auto-generated file references to new script location 2025-10-12 12:01:09 -03:00
dependabot[bot]
0f36599131 chore(deps-dev): bump eslint from 9.9.0 to 9.37.0 (#1061)
Bumps [eslint](https://github.com/eslint/eslint) from 9.9.0 to 9.37.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.9.0...v9.37.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.37.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 11:57:15 -03:00
dependabot[bot]
814093d91a chore(deps-dev): bump ts-patch from 3.1.2 to 3.3.0 (#1060)
Bumps [ts-patch](https://github.com/nonara/ts-patch) from 3.1.2 to 3.3.0.
- [Release notes](https://github.com/nonara/ts-patch/releases)
- [Changelog](https://github.com/nonara/ts-patch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nonara/ts-patch/compare/v3.1.2...v3.3.0)

---
updated-dependencies:
- dependency-name: ts-patch
  dependency-version: 3.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 11:56:46 -03:00
dependabot[bot]
9ffd534bc2 chore(deps-dev): bump globals from 15.9.0 to 16.4.0 (#1062)
Bumps [globals](https://github.com/sindresorhus/globals) from 15.9.0 to 16.4.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.9.0...v16.4.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.4.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 11:52:24 -03:00
dependabot[bot]
ce96925640 chore(deps-dev): bump typedoc from 0.26.7 to 0.28.14 (#1063)
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.26.7 to 0.28.14.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.26.7...v0.28.14)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-version: 0.28.14
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 11:51:55 -03:00
Luan
c5e873ab24 chore: Configure Dependabot 2025-10-12 11:36:23 -03:00
dependabot[bot]
7ce63cb5db chore(deps-dev): bump vite in /examples/browser/web (#1035)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.19 to 5.4.20.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.20/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.20/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.20
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 11:22:58 -03:00
Dave Nicolson
f738a173fc feat(parser): Add FormPopup.ts parser class (#1057)
* Update src/parser/classes/FormPopup.ts

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2025-10-12 10:30:24 -03:00
Dave Nicolson
3d6ed1def9 feat(parser): Add Form.ts parser class (#1056)
* feat(parser): Add Form.ts parser class

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2025-10-12 10:27:01 -03:00
Dave Nicolson
6c127199ba feat(history): Load additional watch history pages (#1055) 2025-10-12 10:00:35 -03:00
dependabot[bot]
f7099ab42e chore(deps): bump tmp and patch-package in /examples/browser/web (#1059)
Bumps [tmp](https://github.com/raszi/node-tmp) to 0.2.5 and updates ancestor dependency [patch-package](https://github.com/ds300/patch-package). These dependencies need to be updated together.


Updates `tmp` from 0.0.33 to 0.2.5
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.0.33...v0.2.5)

Updates `patch-package` from 6.5.1 to 8.0.1
- [Release notes](https://github.com/ds300/patch-package/releases)
- [Changelog](https://github.com/ds300/patch-package/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ds300/patch-package/commits)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.5
  dependency-type: indirect
- dependency-name: patch-package
  dependency-version: 8.0.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-12 09:22:22 -03:00
Luan
52b35ddc42 docs(examples/browser): Warn about outdated example and provide alternative links [skip ci] 2025-10-12 09:20:49 -03:00
Luan
25d0876b91 refactor(Player)!: Use AST-based JS extraction with side-effect safe code emission (#1052)
* chore(deps): Add `meriyah`

* feat(utils): Implement AST-based JS extractors

* chore(utils): Remove old ast walker code

* fix(Player): Migrate js extraction logic

* chore(JsExtractor): Fix typo in tsdoc

* perf(JsAnalyzer): Simplify main AST analysis logic

* fix(JsAnalyzer): Change `break` to `return` in AST matching logic

* chore: Update docs

* chore: Don't export `PlayerInitializationOptions`

* chore(evaluate): Update error message to include doc link

* perf: Use a `for-loop` to find iife
2025-10-12 09:08:51 -03:00
Luan
bffa92d96e test(ytmusic): Update applyFilter test to use a specific value 2025-10-12 08:59:42 -03:00
Webb321
d448fd2806 fix(gen-parser-map): update reference to the script in auto-generated files (#1036)
Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-10-12 08:17:01 -03:00
Fijxu
81592ca9e2 chore: Update User-Agents (#1058)
YouTube.js has been using the same user agents for 3 years.
Maybe YouTube doesn't care that much about the User-Agent, but keeping
them updated is good anyways.
2025-10-12 07:33:19 -03:00
Andrew S
977b13cc23 refactor: Use async/await for the javascript evaluator (#1047)
Allows for `Platform.shim.eval` to be asynchronous for custom evaluators. EG: using an online service to evaluate the javascript code in contexts where code interpreters are prohibited.
2025-10-09 14:19:17 -03:00
absidue
035d16dd6d refactor(node): Replace undici dependency with built-in fetch (#1045) 2025-10-02 07:01:21 -03:00
absidue
ee9c184eeb feat(protos): Add playlistTitle field to NextParams (#1040) 2025-09-17 19:50:20 -03:00
github-actions[bot]
e24060c31d chore(main): release 15.1.1 (#1033)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-13 15:02:21 -03:00
absidue
a2c3774e9a fix(Player): Store the full library version in cache entries (#1032) 2025-09-12 16:10:19 -03:00
github-actions[bot]
dee2b07cb0 chore(main): release 15.1.0 (#1030)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-11 19:24:37 -03:00
dependabot[bot]
da0551cb4c chore(deps-dev): bump vite from 6.3.5 to 7.1.5 (#1028)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 7.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 19:23:58 -03:00
absidue
68a6af9b2c feat(parser): Add ListView, ListItemView and SubscribeButtonView (#1025) 2025-09-11 15:51:57 -03:00
absidue
46c2f6c6c1 refactor: Import version, bugs URL and repo URL directly from package.json (#1004) 2025-09-11 15:49:48 -03:00
absidue
95976de115 perf: Replace uses of ObservableArray#get with Array#find (#1013) 2025-09-11 15:45:16 -03:00
absidue
8be677adec fix(types): Parser.parseArray always returns an ObservedArray (#1014) 2025-09-11 15:43:58 -03:00
absidue
aa7cf561a7 feat(parser): Parse badges in ContentMetadataView (#1017) 2025-09-11 15:43:37 -03:00
absidue
bac896501b fix(parser): LockupMetadataView.image can also be an AvatarStackView (#1026) 2025-09-11 15:43:05 -03:00
absidue
3ea2815aba fix(Player): Fix global variable extraction in the deciphering code (#1029) 2025-09-11 15:42:27 -03:00
github-actions[bot]
0181594530 chore(main): release 15.0.1 (#1003)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 16:59:26 -03:00
Luan
6b788abd6c chore: merge main 2025-07-22 16:54:05 -03:00
Luan
ccd6423183 chore: update docs 2025-07-22 16:53:42 -03:00
absidue
cb87cc1cae fix(Innertube): Handle redirects in getChannel() (#1002) 2025-07-22 16:49:35 -03:00
absidue
d9eb00544e chore: Remove unused tslib dependency (#1001) 2025-07-21 11:31:50 -03:00
Luan
4ae0cc5c52 refactor(BinarySerializer): Move cache serialization to its own module 2025-07-21 05:29:40 -03:00
github-actions[bot]
4f916354df chore(main): release 15.0.0 (#982)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-18 12:25:06 -03:00
Luan
20bdd156c8 chore(readme): update example 2025-07-18 12:13:40 -03:00
Luan
b317ec1bb9 chore: remove unused import from test file 2025-07-18 12:12:11 -03:00
Luan
3df6a212d5 chore: simplify test 2025-07-18 12:09:28 -03:00
Luan
0091f51dd2 feat(Parser): Add HypePointsFactoid node 2025-07-18 12:02:26 -03:00
Luan
d134fd2e9e refactor!: Drop support for CommonJS 2025-07-18 12:01:31 -03:00
Brahim Hadriche
b6386e4027 feat(Innertube)!: Add GetVideoInfoOptions to support content bound PoTokens (#994)
* Add GetVideoInfoOptions to support content bound PoTokens

* feat: Add options arg to other client modules

* chore(Session): Update session WebPO description

* fix(Kids): Make options parameter optional

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-07-18 11:03:23 -03:00
dependabot[bot]
2b4befbc36 chore(deps-dev): bump vite in /examples/browser/web (#964)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.18 to 5.4.19.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.19/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.19/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.19
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-18 10:59:34 -03:00
Dave Nicolson
42bcf197bc feat(Parser): Add ToggleFormField node (#902)
* Add ToggleFormField node

* chore: clean up & lint

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-07-18 10:40:22 -03:00
Luan
4a4b87afe0 chore: Update esbuild to version 0.25.6 2025-07-18 10:39:08 -03:00
lovegaoshi
8f81d54e40 chore(ReactNative): Change deprecated assert to with (#972) 2025-07-18 10:27:09 -03:00
ChunkyProgrammer
dfaf1501c9 fix(Channel): Use new URL for community tab (#986) 2025-07-18 10:23:59 -03:00
shinray
bc386db6ba feat(Parser): Add SectionHeaderView and GridShelfView (#988)
* feat(parser): add sectionheaderview and gridshelfview

* style: direct import instead of from ytnodes namespace

* chore: clean up

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-07-18 10:23:15 -03:00
Fea
2996ebb334 fix: Make "deno" conditional export have higher precedence than "node" (#983) 2025-07-18 10:13:55 -03:00
Fea
e94ef3748e feat(Parser): Add DismissableDialog and DismissableDialogContentSection nodes (#997)
* feat(Parser): Add `DismissableDialogContentSection` node

* feat(Parser): Add `DismissableDialog` node

* chore: clean up

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-07-18 10:06:05 -03:00
ChunkyProgrammer
e9d6483e5a fix(Innertube#getPost): Update protobuf schema (#987)
* Update get post

* Remove leftover debug code
2025-07-18 09:59:31 -03:00
Ankush Sarkar
64f995585f fix(Artist): getAllSongs not finding target shelf (#999) 2025-07-18 09:55:45 -03:00
wukko
2196afbc37 chore: update node target to 20 & undici to latest 6.x version (#985)
* chore: update node target to 20

node 16 & 18 have reached EOL, 20 is the oldest supported LTS version

* chore: update undici to latest 6.x version

this allows for use of https proxies via `EnvHttpProxyAgent` among other useful things
2025-07-18 08:26:38 -03:00
Luan
3fcf987aec fix(MediaInfo): Remove unused parameters from toDash method 2025-07-18 08:20:54 -03:00
Luan
c16feee065 refactor(HTTPClient): Send configInfo only if using WEB 2025-06-22 20:01:07 -03:00
Ryuu Mitsuki
638697696f feat(parser-classes): Add CompositeVideoPrimaryInfo parser class (#984)
* feat(parser-classes): Add `CompositeVideoPrimaryInfo` parser class

* refactor(parser-classes): Remove `data` property from instance class

* chore: shorten import path

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-06-22 14:59:15 -03:00
Luan
7ae4ccf70a feat(DashManifest): Add DRM infos to MPD
Required in newer versions of Shaka (for playback of protected content).
2025-06-21 03:58:44 -03:00
Luan
76504c0d08 fix(Session): Incorrect session client logic 2025-06-19 13:01:16 -03:00
ChunkyProgrammer
d6f13e20ac feat(CommentsView): parse voice_reply_transcript (#981)
* Parse the VoiceReplyContainer instead of just parsing the text
2025-06-17 13:26:50 -03:00
github-actions[bot]
1705470558 chore(main): release 14.0.0 (#956)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-09 11:44:19 -03:00
Luan
60137e6a0e chore: Fix typo 2025-06-08 14:34:03 -03:00
Luan
505e21eeb2 chore: Update auth docs 2025-06-08 14:33:10 -03:00
Luan
147efd0614 chore: gen docs [skip ci] 2025-06-08 13:53:02 -03:00
Luan
f87b5af98c chore: gen docs [skip ci] 2025-06-08 13:48:03 -03:00
Luan
e1650e1297 refactor: Clean up HTTPClient code 2025-06-08 13:45:03 -03:00
Luan
b15f623dab fix(Constants): Add TVHTML5_SIMPLY to CLIENT_NAME_IDS 2025-06-08 13:44:01 -03:00
Fijxu
689fb0b90e fix: add missing TV_SIMPLY parts on some files (#975) 2025-06-08 12:42:44 -03:00
Luan
056b12c3db chore: merge 2025-06-08 09:51:21 -03:00
Luan
8cf658151f feat: Add TV_SIMPLY client 2025-06-08 09:51:06 -03:00
Konstantin
065e9a4e7c feat(MediaInfo): Add updateWatchTime (#874)
* feat: add watch time update function for VideoInfos classes

* chore: Improve naming

* chore: fix ts error

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-06-08 08:25:54 -03:00
lovegaoshi
bb022e8285 fix(Session): Initialize client version based on provided client name (#971)
* fix(Session): Fix client init when using cached sessions

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-06-08 07:51:53 -03:00
Suhun Han
876e94ad03 feat(VideoInfo): implement MacroMarkersListEntity parser for heatmap (#973)
* refactor(video-info): rewrite heat-map extraction

* fix(parser): Ensure heatmap mutations are processed only if mutations exist

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-06-08 07:32:50 -03:00
absidue
698121ab8f fix: Handle CommandExecutorCommand in NavigationEndpoint.call (#968)
Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-06-08 07:12:26 -03:00
absidue
11c419a96c chore(build): Add source mappings for enums (#966) 2025-06-08 07:03:38 -03:00
Luan
561e60b934 feat(StreamingInfoOptions)!: Add is_sabr option (#974)
Returns a manifest suitable for use in SABR player implementations.
2025-06-08 07:02:10 -03:00
Luan
f202bcdeb7 chore(test): Update comment test case with a new video ID 2025-06-08 06:59:48 -03:00
Luan
f6fa735ac1 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-06-07 13:02:55 -03:00
absidue
09718a717f refactor(Actions): Use Response.json instead of JSON.parse + Response.text (#967) 2025-05-26 20:27:32 -03:00
absidue
0f1fd7223c fix(getBasicInfo): Add racyCheckOk and contentCheckOk to payload (#961) 2025-05-01 08:29:25 -03:00
ChunkyProgrammer
92b8623374 fix(Innertube): Properly encoded params in getPostComments() (#955) 2025-04-24 01:09:03 -03:00
github-actions[bot]
a10c6a1c23 chore(main): release 13.4.0 (#945)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-23 09:33:09 -03:00
Luan
6ee21c5d24 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-04-23 09:31:36 -03:00
dependabot[bot]
b4981ca1fd chore(deps-dev): bump vite in /examples/browser/web (#954)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.12 to 5.4.18.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.18/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.18
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23 09:31:15 -03:00
Luan
7c97350785 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-04-23 09:29:02 -03:00
Luan
7f1eeb6b5b fix(Player): Use global var to find signature algorithm (#953)
* chore: Update jintr to version 3.3.1

* fix(Player): Use global var to find signature algorithm

This change allows matching code such as:
```
// "Y" is the global var.

r = r[Y[14]](Y[19]);
q3[Y[8]](r, 30);
q3[Y[8]](r, 65);
q3[Y[8]](r, 2);
```

TODO:
Maybe consider removing the regex (it's too fragile) and instead use the AST walker, like we already do for `nsig` and the global lookup variable.
2025-04-23 09:28:42 -03:00
Paul
5e665e8f0b feat(Session): Add option to override Player ID (#951)
Co-authored-by: Paul <paul@piltd.io>
Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-04-23 09:23:41 -03:00
Luan
677d4db19a chore: Update jintr to version 3.3.1 2025-04-23 08:49:14 -03:00
Dave Nicolson
ff1aa67b8b feat(Parser): Add OpenOnePickAddVideoModalCommand node (#901) 2025-04-20 10:25:50 -03:00
Luan
dce51cdc4a feat(RichShelf): Add icon_type property
Useful for identifying Short content shelves.
2025-04-16 15:59:00 -03:00
Luan
4808d2e13a feat(Session): Add retrieve_innertube_config option (#949)
* feat(Session): Add `retrieve_innertube_config` option

This makes a call to `/config` to fetch hot/cold hash data, as well as config needed for certain requests and encryption (useful for "onesie" requests.)

Note: This is enabled by default. If you don't have any cache configured, the additional request will make session creation slightly slower!

* chore: Update config headers
2025-04-16 15:28:08 -03:00
Luan
98a2ba8c46 chore(parser): Fix types 2025-04-16 14:16:17 -03:00
Luan
a1fd51fbb5 chore: Copy over some types from youtubei-dts
Needed for hot config retrieval.
2025-04-16 14:09:32 -03:00
Luan
c7048368cc feat(Session): Add deviceExperimentId and rolloutToken to session data 2025-04-16 13:28:47 -03:00
Luan
458c4900d7 feat(parser): Parse targetId
Used by the UI to identify interactions/commands sent by nodes deep into the response (ChipCloudChip, Button, etc..)
2025-04-13 16:47:46 -03:00
Luan
f8690118c3 feat(MultiPageMenuNotificationSection): Add notification_section_title 2025-04-11 17:10:55 -03:00
absidue
14ea875c67 chore: Inline some trivial private methods (#946) 2025-04-06 13:37:57 -03:00
Brijesh Thummar
95d9211eae fix(HTTPClient): Use the correct constant for the iOS client OS name (#938) 2025-04-05 12:55:18 -03:00
Luan
393c243495 chore(ButtonView): Fix typo 2025-04-05 06:22:51 -03:00
Luan
df6b0cccc4 refactor: Update some nodes to use AccessibilityData.ts 2025-04-05 05:44:11 -03:00
Luan
a95f52a477 feat(Text): Parse accessibility data
+ Clean up.
2025-04-05 05:09:34 -03:00
absidue
4284fa6d06 chore(build): More efficient enum emit (#944) 2025-04-05 03:44:44 -03:00
Luan
d8f731b2fa feat(RichRenderers): Parse more UI elements
YouTube is currently A/B testing a new You/Library page that uses RichShelf nodes instead of Shelf. There are no major visual changes, other than the page being much more responsive due to how RichShelf is styled.
2025-04-05 03:40:11 -03:00
github-actions[bot]
9694a48270 chore(main): release 13.3.0 (#927)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-25 10:07:55 -03:00
Luan
edfd65f5e0 fix(Player): Parse global variable used by nsig/sig (#935)
To reduce reliance on regex, we'll use an AST walker here.

Tested with the following player scripts:
https://www.youtube.com/s/player/643afba4/player_ias.vflset/en_US/base.js
https://www.youtube.com/s/player/4fcd6e4a/player_ias.vflset/en_US/base.js
https://www.youtube.com/s/player/363db69b/player_ias.vflset/en_US/base.js
2025-03-25 10:01:48 -03:00
Luan
cbb2535b24 feat(MusicImmersiveHeader): Parse buttons and menu 2025-03-24 10:49:54 -03:00
github-actions[bot]
1d4024fae5 chore(main): release 13.2.0 (#910)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-20 07:55:16 -03:00
absidue
216cb3139a chore(parser): Pass playlist_item_data as a parameter instead of a private property (#914) 2025-03-20 07:47:35 -03:00
absidue
4a4c37001d refactor(internal): Reduce frequent accesses to the same private property (#915) 2025-03-20 07:46:36 -03:00
wukko
219d88b200 fix(Constants): Update the iOS client version (#924)
* utils/Constants: update the iOS client version

* utils/HTTPClient: use osName & osVersion for iOS client from Constants
2025-03-20 07:45:17 -03:00
Luan
923e9c28e3 feat: Add AccessibilityContext and CommandContext classes + improve type definitions and parsing logic across multiple nodes 2025-03-03 03:22:27 -03:00
dependabot[bot]
5ef7ea8034 chore(deps-dev): bump vite in /examples/browser/web (#906)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.11 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-27 04:52:52 -03:00
absidue
00c199ac69 fix(Format): Parse xtags from protobuf to support SABR-only responses (#909) 2025-02-27 03:30:43 -03:00
Nansess
06a0090ae6 chore(constants): Update version numbers to latest (#908) 2025-02-25 07:46:31 +01:00
github-actions[bot]
401b4c3858 chore(main): release 13.1.0 (#880)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-21 19:15:11 -03:00
Muhammad Mujtaba Naveed
5aecd0ace9 fix(innertube): Allowing getStreamingData to use client (#895) 2025-02-21 19:12:19 -03:00
absidue
432571769e revert: "fix(toDash): Fix default audio stream for dubbed movie trailers (#858)" (#896)
This reverts commit 00546909c0.
2025-02-21 19:10:04 -03:00
Dave Nicolson
2b4219959c fix(Playlist): is_editable (#894)
* Fix is_editable

* Add can_reorder
2025-02-21 19:07:56 -03:00
Dave Nicolson
b731db86c5 fix(DialogView): Type mismatch (#897) 2025-02-21 19:04:21 -03:00
Dave Nicolson
e2ee822b9d Fix getPlaylist playlist ID (#898) 2025-02-21 19:02:29 -03:00
Luan
3243339b37 chore(tests): Remove unneeded continuation test 2025-02-21 18:59:58 -03:00
Luan
c9328c59f9 chore: fix test 2025-02-21 18:56:22 -03:00
Luan
a3fafe2f79 fix(music#getPlaylist): Handle ContinuationItem nodes
Closes #904
2025-02-21 18:52:34 -03:00
Luan
ca7c3164e1 chore(AnimatedThumbnailOverlayView): Refactor thumbnail handling to use Thumbnail class 2025-02-21 18:15:29 -03:00
Luan
02dfcae612 fix(dependencies): Update jintr to version 3.2.1 2025-02-21 18:13:10 -03:00
Izak Filmalter
0cb92d9620 feat(parser): Add AnimatedThumbnailOverlayView (#903)
* Add AnimatedThumbnailOverlayView parser.

* Update nodes.ts
2025-02-17 11:41:17 -03:00
Nansess
5394edc9bd chore(constants): update WEB_CREATOR version (#893)
* update WEB_CREATOR version

* Update Constants.ts
2025-02-15 11:07:51 -03:00
absidue
7d5c972c98 fix(Innertube): Properly encoded params in getPost() (#882) 2025-02-13 17:31:12 -03:00
EdamAmex
b5c9581bec docs(installation): add install command for deno (#885)
* docs(installation): add install command for deno

* Update README.md
2025-02-13 17:30:11 -03:00
Loyalsoldier
774b3a7524 fix(FormatUtils): itag matching (#886) 2025-02-13 17:29:36 -03:00
ChunkyProgrammer
b3a4862151 feat(Channel): Add getCourses method (#883) 2025-02-11 06:10:50 -03:00
absidue
75d39e7afb chore(parser): Simplify d0d48bf525 (#888) 2025-02-08 06:00:03 -03:00
absidue
c776b9f349 chore(Utils): Replace private static shim property with a variable (#887) 2025-02-08 05:58:01 -03:00
absidue
0e869020db refactor: Remove internal uses of the .first() and .matchCondition() helpers (#889) 2025-02-08 05:55:39 -03:00
Luan
d0d48bf525 feat(CommentView): Parse prepareAccountCommand 2025-02-05 15:02:48 -03:00
Luan
3f960effa2 fix(Parser): Add UpdateEngagementPanelContentCommand
This command is sometimes used to open the Transcript panel.
2025-02-05 06:55:13 -03:00
Loyalsoldier
1c1577e85f feat(FormatUtils): choose more specific format by itag or codec (#884) 2025-01-28 15:43:09 -03:00
Luan
424c65356c fix(LockupView): Add overlay nodes used by VIDEO views 2025-01-25 11:59:17 -03:00
Luan
3ffdee9554 fix(LockupMetadataView): Parse menuButton 2025-01-25 11:41:01 -03:00
Luan
083aec1c80 fix(LockupView): Fix content_image parsing 2025-01-25 11:33:38 -03:00
Luan
6d57353a80 feat(CompactLink): Parse subtitle, iconType, and iconType 2025-01-24 11:22:29 -03:00
Luan
32125c7045 feat(CommentView): Parse some extra tooltips 2025-01-21 07:51:55 -03:00
1736 changed files with 162738 additions and 148081 deletions

9
.github/dependabot.yml vendored Normal file
View 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"

View File

@@ -5,11 +5,17 @@ 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: googleapis/release-please-action@v4
@@ -49,13 +55,11 @@ jobs:
if: ${{ steps.release.outputs.release_created }}
- uses: actions/setup-node@v4
with:
node-version: "20"
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
.gitignore vendored
View File

@@ -74,6 +74,9 @@ deno/
# VSCode files
.vscode/
# Webstorm files
.idea/
# MacOS
.DS_Store

View File

@@ -1,5 +1,247 @@
# 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)

View File

@@ -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.
[![Github Sponsors](https://img.shields.io/badge/donate-30363D?style=flat-square&logo=GitHub-Sponsors&logoColor=#white)](https://github.com/sponsors/absidue)
Several bug fixes, new features & improved MPD support.

View File

@@ -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.

View File

@@ -12,7 +12,7 @@
<img src="https://luanrt.github.io/assets/img/ytjs.svg" alt="YouTube.js Logo" width="200" />
</a>
</p>
<p>A JavaScript client for YouTube's private API</p>
<p>A JavaScript client for YouTube's internal API.<br/>Works on Node.js, Deno, modern browsers, and more.</p>
[![Discord](https://img.shields.io/badge/discord-online-brightgreen.svg)][discord]
[![CI](https://github.com/LuanRT/YouTube.js/actions/workflows/test.yml/badge.svg)][actions]
@@ -22,8 +22,6 @@
</div>
YouTube.js is a JavaScript client for YouTube's private API, known as "InnerTube". It allows you to interact with YouTube programmatically, providing access to videos, comments, live chats, streaming data and more. It works seamlessly across Node.js, Deno, and modern browsers.
## Installation
Before installing, make sure your environment meets the [prerequisites](https://ytjs.dev/guide/getting-started.html#prerequisites).
@@ -37,9 +35,12 @@ yarn add youtubei.js@latest
# Git (edge version)
npm install github:LuanRT/YouTube.js
# Deno
deno add npm:youtubei.js@latest
```
Deno:
Deno (deprecated):
```ts
import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';
```
@@ -47,15 +48,14 @@ import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';
## Basic Usage
```ts
// const { Innertube } = require('youtubei.js');
import { Innertube } from 'youtubei.js';
const innertube = await Innertube.create(/* options */);
```
For detailed usage, check out the [YouTube.js Guide and API Documentation](https://ytjs.dev).
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).
## Contributors
<a href="https://github.com/LuanRT/YouTube.js/graphs/contributors">

1
bundle/react-native.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
export * from '../dist/src/platform/lib.js';

View 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);
}
}
}

View File

@@ -1,4 +1,3 @@
import glob from 'glob';
import path from 'path';
import fs from 'fs';
import url from 'url';
@@ -8,25 +7,33 @@ const misc_imports = [];
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
glob.sync('../src/parser/classes/**/*.{js,ts}', { cwd: __dirname })
.forEach((file) => {
// Trim path
const is_misc = file.includes('/misc/');
file = file.replace('../src/parser/classes/', '').replace('.js', '').replace('.ts', '');
const import_name = file.split('/').pop();
// Use case-insensitive sorting, to ensure the order stays consistent between runs
const collator = new Intl.Collator('en', { sensitivity: 'base' });
if (is_misc) {
const class_name = file.split('/').pop().replace('.js', '').replace('.ts', '');
misc_imports.push(`export { default as ${class_name} } from './classes/${file}.js';`);
} else {
import_list.push(`export { default as ${import_name} } from './classes/${file}.js';`);
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 ./scripts/build-parser-map.js
// See ./dev-scripts/gen-parser-map.mjs
${import_list.join('\n')}
`
@@ -35,7 +42,7 @@ ${import_list.join('\n')}
fs.writeFileSync(
path.resolve(__dirname, '../src/parser/misc.ts'),
`// This file was auto generated, do not edit.
// See ./scripts/build-parser-map.js
// See ./dev-scripts/gen-parser-map.mjs
${misc_imports.join('\n')}
`

View File

@@ -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

View File

@@ -1,369 +1,29 @@
# youtubei.js
## References
### AddToPlaylistServiceRequest
Re-exports [AddToPlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/AddToPlaylistServiceRequest.md)
***
### AppendContinuationItemsAction
Re-exports [AppendContinuationItemsAction](namespaces/YTNodes/classes/AppendContinuationItemsAction.md)
***
### BrowseRequest
Re-exports [BrowseRequest](namespaces/APIResponseTypes/type-aliases/BrowseRequest.md)
***
### BrowseRequestSupportedMetadata
Re-exports [BrowseRequestSupportedMetadata](namespaces/APIResponseTypes/type-aliases/BrowseRequestSupportedMetadata.md)
***
### ContinuationRequest
Re-exports [ContinuationRequest](namespaces/APIResponseTypes/type-aliases/ContinuationRequest.md)
***
### CpnSource
Re-exports [CpnSource](namespaces/APIResponseTypes/type-aliases/CpnSource.md)
***
### CreateCommentRequest
Re-exports [CreateCommentRequest](namespaces/APIResponseTypes/type-aliases/CreateCommentRequest.md)
***
### CreatePlaylistServiceRequest
Re-exports [CreatePlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/CreatePlaylistServiceRequest.md)
***
### default
Renames and re-exports [Innertube](classes/Innertube.md)
***
### DeletePlaylistServiceRequest
Re-exports [DeletePlaylistServiceRequest](namespaces/APIResponseTypes/type-aliases/DeletePlaylistServiceRequest.md)
***
### FeedbackContext
Re-exports [FeedbackContext](namespaces/APIResponseTypes/type-aliases/FeedbackContext.md)
***
### FeedbackRequest
Re-exports [FeedbackRequest](namespaces/APIResponseTypes/type-aliases/FeedbackRequest.md)
***
### FormData
Re-exports [FormData](namespaces/APIResponseTypes/type-aliases/FormData.md)
***
### GetAccountsListInnertubeRequest
Re-exports [GetAccountsListInnertubeRequest](namespaces/APIResponseTypes/type-aliases/GetAccountsListInnertubeRequest.md)
***
### GetKidsBlocklistPickerRequest
Re-exports [GetKidsBlocklistPickerRequest](namespaces/APIResponseTypes/type-aliases/GetKidsBlocklistPickerRequest.md)
***
### IBotguardChallenge
Re-exports [IBotguardChallenge](namespaces/APIResponseTypes/interfaces/IBotguardChallenge.md)
***
### IBrowseResponse
Re-exports [IBrowseResponse](namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)
***
### IEndpoint
Re-exports [IEndpoint](namespaces/APIResponseTypes/interfaces/IEndpoint.md)
***
### IGetChallengeResponse
Re-exports [IGetChallengeResponse](namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)
***
### IGetNotificationsMenuResponse
Re-exports [IGetNotificationsMenuResponse](namespaces/APIResponseTypes/type-aliases/IGetNotificationsMenuResponse.md)
***
### IGetTranscriptResponse
Re-exports [IGetTranscriptResponse](namespaces/APIResponseTypes/type-aliases/IGetTranscriptResponse.md)
***
### IGuideResponse
Re-exports [IGuideResponse](namespaces/APIResponseTypes/type-aliases/IGuideResponse.md)
***
### INextResponse
Re-exports [INextResponse](namespaces/APIResponseTypes/type-aliases/INextResponse.md)
***
### InlineSettingStatus
Re-exports [InlineSettingStatus](namespaces/APIResponseTypes/type-aliases/InlineSettingStatus.md)
***
### IParsedResponse
Re-exports [IParsedResponse](namespaces/APIResponseTypes/interfaces/IParsedResponse.md)
***
### IPlayabilityStatus
Re-exports [IPlayabilityStatus](namespaces/APIResponseTypes/interfaces/IPlayabilityStatus.md)
***
### IPlaybackTracking
Re-exports [IPlaybackTracking](namespaces/APIResponseTypes/interfaces/IPlaybackTracking.md)
***
### IPlayerConfig
Re-exports [IPlayerConfig](namespaces/APIResponseTypes/interfaces/IPlayerConfig.md)
***
### IPlayerResponse
Re-exports [IPlayerResponse](namespaces/APIResponseTypes/type-aliases/IPlayerResponse.md)
***
### IRawBotguardChallenge
Re-exports [IRawBotguardChallenge](namespaces/APIResponseTypes/interfaces/IRawBotguardChallenge.md)
***
### IRawPlayerConfig
Re-exports [IRawPlayerConfig](namespaces/APIResponseTypes/interfaces/IRawPlayerConfig.md)
***
### IRawResponse
Re-exports [IRawResponse](namespaces/APIResponseTypes/interfaces/IRawResponse.md)
***
### IRawTrustedResource
Re-exports [IRawTrustedResource](namespaces/APIResponseTypes/interfaces/IRawTrustedResource.md)
***
### IResolveURLResponse
Re-exports [IResolveURLResponse](namespaces/APIResponseTypes/type-aliases/IResolveURLResponse.md)
***
### IResponseContext
Re-exports [IResponseContext](namespaces/APIResponseTypes/interfaces/IResponseContext.md)
***
### ISearchResponse
Re-exports [ISearchResponse](namespaces/APIResponseTypes/type-aliases/ISearchResponse.md)
***
### IServiceTrackingParams
Re-exports [IServiceTrackingParams](namespaces/APIResponseTypes/interfaces/IServiceTrackingParams.md)
***
### IStreamingData
Re-exports [IStreamingData](namespaces/APIResponseTypes/interfaces/IStreamingData.md)
***
### ITrustedResource
Re-exports [ITrustedResource](namespaces/APIResponseTypes/interfaces/ITrustedResource.md)
***
### IUpdatedMetadataResponse
Re-exports [IUpdatedMetadataResponse](namespaces/APIResponseTypes/type-aliases/IUpdatedMetadataResponse.md)
***
### LikeRequest
Re-exports [LikeRequest](namespaces/APIResponseTypes/type-aliases/LikeRequest.md)
***
### LikeTarget
Re-exports [LikeTarget](namespaces/APIResponseTypes/type-aliases/LikeTarget.md)
***
### LiveChatItemContextMenuRequest
Re-exports [LiveChatItemContextMenuRequest](namespaces/APIResponseTypes/type-aliases/LiveChatItemContextMenuRequest.md)
***
### ModifyChannelNotificationPreferenceRequest
Re-exports [ModifyChannelNotificationPreferenceRequest](namespaces/APIResponseTypes/type-aliases/ModifyChannelNotificationPreferenceRequest.md)
***
### NextNavendpoint
Re-exports [NextNavendpoint](namespaces/APIResponseTypes/type-aliases/NextNavendpoint.md)
***
### PerformCommentActionRequest
Re-exports [PerformCommentActionRequest](namespaces/APIResponseTypes/type-aliases/PerformCommentActionRequest.md)
***
### PlaylistEditRequest
Re-exports [PlaylistEditRequest](namespaces/APIResponseTypes/type-aliases/PlaylistEditRequest.md)
***
### PlaylistPrivacyStatus
Re-exports [PlaylistPrivacyStatus](namespaces/APIResponseTypes/type-aliases/PlaylistPrivacyStatus.md)
***
### RawData
Re-exports [RawData](namespaces/APIResponseTypes/type-aliases/RawData.md)
***
### RawNode
Re-exports [RawNode](namespaces/APIResponseTypes/type-aliases/RawNode.md)
***
### ReelWatchRequest
Re-exports [ReelWatchRequest](namespaces/APIResponseTypes/type-aliases/ReelWatchRequest.md)
***
### SearchRequest
Re-exports [SearchRequest](namespaces/APIResponseTypes/type-aliases/SearchRequest.md)
***
### ShareEntityServiceRequest
Re-exports [ShareEntityServiceRequest](namespaces/APIResponseTypes/type-aliases/ShareEntityServiceRequest.md)
***
### SubscribeRequest
Re-exports [SubscribeRequest](namespaces/APIResponseTypes/type-aliases/SubscribeRequest.md)
***
### UnsubscribeRequest
Re-exports [UnsubscribeRequest](namespaces/APIResponseTypes/type-aliases/UnsubscribeRequest.md)
***
### WatchNextRequest
Re-exports [WatchNextRequest](namespaces/APIResponseTypes/type-aliases/WatchNextRequest.md)
***
### WatchRequest
Re-exports [WatchRequest](namespaces/APIResponseTypes/type-aliases/WatchRequest.md)
## Namespaces
- [APIResponseTypes](namespaces/APIResponseTypes/README.md)
- [Clients](namespaces/Clients/README.md)
- [Constants](namespaces/Constants/README.md)
- [FormatUtils](namespaces/FormatUtils/README.md)
- [Generator](namespaces/Generator/README.md)
- [Helpers](namespaces/Helpers/README.md)
- [Log](namespaces/Log/README.md)
- [LZW](namespaces/LZW/README.md)
- [Managers](namespaces/Managers/README.md)
- [Misc](namespaces/Misc/README.md)
- [Mixins](namespaces/Mixins/README.md)
- [Parser](namespaces/Parser/README.md)
- [ProtoUtils](namespaces/ProtoUtils/README.md)
- [Types](namespaces/Types/README.md)
- [Utils](namespaces/Utils/README.md)
- [YT](namespaces/YT/README.md)
- [YTKids](namespaces/YTKids/README.md)
- [YTMusic](namespaces/YTMusic/README.md)
- [YTNodes](namespaces/YTNodes/README.md)
- [YTShorts](namespaces/YTShorts/README.md)
- [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
@@ -372,6 +32,7 @@ Re-exports [WatchRequest](namespaces/APIResponseTypes/type-aliases/WatchRequest.
## Classes
- [Actions](classes/Actions.md)
- [AppendContinuationItemsAction](classes/AppendContinuationItemsAction.md)
- [Continuation](classes/Continuation.md)
- [ContinuationCommand](classes/ContinuationCommand.md)
- [EventEmitter](classes/EventEmitter.md)
@@ -397,19 +58,89 @@ Re-exports [WatchRequest](namespaces/APIResponseTypes/type-aliases/WatchRequest.
- [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)

View File

@@ -2,23 +2,25 @@
# Class: Actions
Defined in: [src/core/Actions.ts:46](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L46)
## Constructors
### new Actions()
### Constructor
> **new Actions**(`session`): [`Actions`](Actions.md)
> **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)
##### session
[`Session`](Session.md)
#### Returns
[`Actions`](Actions.md)
#### Defined in
[src/core/Actions.ts:49](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L49)
`Actions`
## Properties
@@ -26,110 +28,138 @@
> **session**: [`Session`](Session.md)
#### Defined in
[src/core/Actions.ts:47](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L47)
Defined in: [src/core/Actions.ts:47](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L47)
## Methods
### execute()
#### execute(endpoint, args)
#### 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** *extends* `string`
###### T
`T` *extends* `string`
##### Parameters
**endpoint**: `T`
###### endpoint
`T`
The endpoint to call.
**args**
###### args
Call arguments
**args.parse**: `true`
###### parse
**args.protobuf?**: `false`
`true`
**args.serialized\_data?**: `any`
###### protobuf?
**args.skip\_auth\_check?**: `boolean`
`false`
###### serialized_data?
`any`
###### skip_auth_check?
`boolean`
##### Returns
`Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
##### Defined in
#### Call Signature
[src/core/Actions.ts:93](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L93)
> **execute**\<`T`\>(`endpoint`, `args?`): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
#### execute(endpoint, args)
Defined in: [src/core/Actions.ts:88](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L88)
> **execute**\<`T`\>(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
Executes an API call.
##### Type Parameters
**T** *extends* `string`
###### T
`T` *extends* `string`
##### Parameters
**endpoint**: `T`
###### endpoint
**args?**
`T`
**args.parse?**: `false`
The endpoint to call.
**args.protobuf?**: `true`
###### args?
**args.serialized\_data?**: `any`
Call arguments
**args.skip\_auth\_check?**: `boolean`
###### parse?
`false`
###### protobuf?
`true`
###### serialized_data?
`any`
###### skip_auth_check?
`boolean`
##### Returns
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Defined in
[src/core/Actions.ts:100](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L100)
***
### 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`
##### url
`string`
The URL to call.
**client**
##### client
The client to use.
**client.client\_name**: `string`
###### client_name
**client.client\_version**: `string`
`string`
**params**
###### client_version
`string`
##### params
Call parameters.
#### Returns
`Promise`\<`Response`\>
#### Defined in
[src/core/Actions.ts:71](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L71)

View 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)

View File

@@ -2,31 +2,33 @@
# Class: Continuation
Defined in: [src/parser/continuations.ts:139](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L139)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new Continuation()
### Constructor
> **new Continuation**(`data`): [`Continuation`](Continuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`Continuation`](Continuation.md)
`Continuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:147](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L147)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
@@ -34,9 +36,7 @@
> **continuation\_type**: `string`
#### Defined in
[src/parser/continuations.ts:142](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L142)
Defined in: [src/parser/continuations.ts:142](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L142)
***
@@ -44,9 +44,7 @@
> `optional` **time\_until\_last\_message\_ms**: `number`
#### Defined in
[src/parser/continuations.ts:144](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L144)
Defined in: [src/parser/continuations.ts:144](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L144)
***
@@ -54,9 +52,7 @@
> `optional` **timeout\_ms**: `number`
#### Defined in
[src/parser/continuations.ts:143](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L143)
Defined in: [src/parser/continuations.ts:143](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L143)
***
@@ -64,9 +60,7 @@
> **token**: `string`
#### Defined in
[src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L145)
Defined in: [src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L145)
***
@@ -74,13 +68,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -88,13 +80,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:140](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L140)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -102,17 +92,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -128,11 +126,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -140,17 +134,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -162,11 +164,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -174,17 +172,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -196,35 +202,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -234,8 +244,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,31 +2,33 @@
# Class: ContinuationCommand
Defined in: [src/parser/continuations.ts:214](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L214)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ContinuationCommand()
### Constructor
> **new ContinuationCommand**(`data`): [`ContinuationCommand`](ContinuationCommand.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`ContinuationCommand`](ContinuationCommand.md)
`ContinuationCommand`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:220](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L220)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
@@ -34,9 +36,7 @@
> **request**: `string`
#### Defined in
[src/parser/continuations.ts:217](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L217)
Defined in: [src/parser/continuations.ts:217](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L217)
***
@@ -44,9 +44,7 @@
> **token**: `string`
#### Defined in
[src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L218)
Defined in: [src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L218)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:215](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L215)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,6 +2,8 @@
# Class: EventEmitter
Defined in: [src/utils/EventEmitterLike.ts:3](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/EventEmitterLike.ts#L3)
## Extends
- `EventTarget`
@@ -9,55 +11,49 @@
## Extended by
- [`Session`](Session.md)
- [`LiveChat`](../namespaces/YT/classes/LiveChat.md)
- [`LiveChat`](../youtubei.js/namespaces/YT/classes/LiveChat.md)
## Constructors
### new EventEmitter()
### Constructor
> **new EventEmitter**(): [`EventEmitter`](EventEmitter.md)
> **new EventEmitter**(): `EventEmitterLike`
Defined in: [src/utils/EventEmitterLike.ts:6](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/EventEmitterLike.ts#L6)
#### Returns
[`EventEmitter`](EventEmitter.md)
`EventEmitterLike`
#### Overrides
`EventTarget.constructor`
#### Defined in
[src/utils/EventEmitterLike.ts:6](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L6)
## Methods
### addEventListener()
> **addEventListener**(`type`, `callback`, `options`?): `void`
> **addEventListener**(`type`, `callback`, `options?`): `void`
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:11569
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
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`
##### type
**callback**: `null` \| `EventListenerOrEventListenerObject`
`string`
**options?**: `boolean` \| `AddEventListenerOptions`
##### callback
`EventListenerOrEventListenerObject` | `null`
##### options?
`boolean` | `AddEventListenerOptions`
#### Returns
@@ -67,23 +63,23 @@ The event listener is appended to target's event listener list and is not append
`EventTarget.addEventListener`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8256
***
### dispatchEvent()
> **dispatchEvent**(`event`): `boolean`
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
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`
##### event
`Event`
#### Returns
@@ -93,107 +89,119 @@ Dispatches a synthetic event event to target and returns true if either event's
`EventTarget.dispatchEvent`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8262
***
### 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`
##### type
• ...**args**: `any`[]
`string`
##### args
...`any`[]
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L10)
***
### 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`
##### type
**listener**
`string`
##### listener
(...`args`) => `void`
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L40)
***
### 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`
##### type
**listener**
`string`
##### listener
(...`args`) => `void`
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:15](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L15)
***
### 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`
##### type
**listener**
`string`
##### listener
(...`args`) => `void`
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:27](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L27)
***
### removeEventListener()
> **removeEventListener**(`type`, `callback`, `options`?): `void`
> **removeEventListener**(`type`, `callback`, `options?`): `void`
Removes the event listener in target's event listener list with the same type, callback, and options.
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`
##### type
**callback**: `null` \| `EventListenerOrEventListenerObject`
`string`
**options?**: `boolean` \| `EventListenerOptions`
##### callback
`EventListenerOrEventListenerObject` | `null`
##### options?
`boolean` | `EventListenerOptions`
#### Returns
@@ -202,7 +210,3 @@ Removes the event listener in target's event listener list with the same type, c
#### Inherited from
`EventTarget.removeEventListener`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8268

View File

@@ -2,31 +2,33 @@
# Class: GridContinuation
Defined in: [src/parser/continuations.ts:108](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L108)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new GridContinuation()
### Constructor
> **new GridContinuation**(`data`): [`GridContinuation`](GridContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`GridContinuation`](GridContinuation.md)
`GridContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:114](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L114)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
@@ -34,19 +36,15 @@
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:111](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L111)
Defined in: [src/parser/continuations.ts:111](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L111)
***
### items
> **items**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L112)
Defined in: [src/parser/continuations.ts:112](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L112)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,27 +64,25 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:109](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L109)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Accessors
### contents
> `get` **contents**(): `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Get Signature
#### Returns
> **get** **contents**(): [`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
`null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
Defined in: [src/parser/continuations.ts:120](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L120)
#### Defined in
##### Returns
[src/parser/continuations.ts:120](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L120)
[`ObservedArray`](../youtubei.js/namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)\> \| `null`
## Methods
@@ -96,17 +90,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -122,11 +124,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -134,17 +132,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -156,11 +162,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -168,17 +170,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -190,35 +200,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -228,8 +242,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,70 +2,100 @@
# Class: HTTPClient
Defined in: [src/utils/HTTPClient.ts:25](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/HTTPClient.ts#L25)
## Constructors
### new HTTPClient()
### Constructor
> **new HTTPClient**(`session`, `cookie`?, `fetch`?): [`HTTPClient`](HTTPClient.md)
> **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)
##### session
**cookie?**: `string`
[`Session`](Session.md)
**fetch?**
##### cookie?
`string`
##### fetch?
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
#### Returns
[`HTTPClient`](HTTPClient.md)
#### Defined in
[src/utils/HTTPClient.ts:22](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/HTTPClient.ts#L22)
`HTTPClient`
## Accessors
### fetch\_function
> `get` **fetch\_function**(): (`input`, `init`?) => `Promise`\<`Response`\>
#### Get Signature
#### Returns
> **get** **fetch\_function**(): \{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
`Function`
[MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch)
##### Parameters
**input**: `URL` \| `RequestInfo`
**init?**: `RequestInit`
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`\>
#### Defined in
> (`input`, `init?`): `Promise`\<`Response`\>
[src/utils/HTTPClient.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/HTTPClient.ts#L28)
[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`\>
> **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`
##### input
**init?**: `RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
`string` | `URL` | `Request`
##### init?
`RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
#### Returns
`Promise`\<`Response`\>
#### Defined in
[src/utils/HTTPClient.ts:32](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/HTTPClient.ts#L32)

View File

@@ -2,6 +2,8 @@
# 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
@@ -13,621 +15,621 @@ const innertube = await Innertube.create({ cache: new UniversalCache(true)});
## Constructors
### new Innertube()
### Constructor
> **new Innertube**(`session`): [`Innertube`](Innertube.md)
> **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)
##### session
[`Session`](Session.md)
#### Returns
[`Innertube`](Innertube.md)
#### Defined in
[src/Innertube.ts:65](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L65)
`Innertube`
## Accessors
### account
> `get` **account**(): [`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
#### 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
##### Returns
[`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
#### Defined in
[src/Innertube.ts:588](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L588)
[`AccountManager`](../youtubei.js/namespaces/Managers/classes/AccountManager.md)
***
### actions
> `get` **actions**(): [`Actions`](Actions.md)
#### 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
##### Returns
[`Actions`](Actions.md)
#### Defined in
[src/Innertube.ts:609](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L609)
***
### interact
> `get` **interact**(): [`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
#### 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
##### Returns
[`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
#### Defined in
[src/Innertube.ts:602](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L602)
[`InteractionManager`](../youtubei.js/namespaces/Managers/classes/InteractionManager.md)
***
### kids
> `get` **kids**(): [`Kids`](../namespaces/Clients/classes/Kids.md)
#### 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
##### Returns
[`Kids`](../namespaces/Clients/classes/Kids.md)
#### Defined in
[src/Innertube.ts:581](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L581)
[`Kids`](../youtubei.js/namespaces/Clients/classes/Kids.md)
***
### music
> `get` **music**(): [`Music`](../namespaces/Clients/classes/Music.md)
#### 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
##### Returns
[`Music`](../namespaces/Clients/classes/Music.md)
#### Defined in
[src/Innertube.ts:567](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L567)
[`Music`](../youtubei.js/namespaces/Clients/classes/Music.md)
***
### playlist
> `get` **playlist**(): [`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
#### 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
##### Returns
[`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
#### Defined in
[src/Innertube.ts:595](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L595)
[`PlaylistManager`](../youtubei.js/namespaces/Managers/classes/PlaylistManager.md)
***
### session
> `get` **session**(): [`Session`](Session.md)
#### 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
##### Returns
[`Session`](Session.md)
#### Defined in
[src/Innertube.ts:616](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L616)
***
### studio
> `get` **studio**(): [`Studio`](../namespaces/Clients/classes/Studio.md)
#### 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
##### Returns
[`Studio`](../namespaces/Clients/classes/Studio.md)
#### Defined in
[src/Innertube.ts:574](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L574)
[`Studio`](../youtubei.js/namespaces/Clients/classes/Studio.md)
## Methods
### call()
#### call(endpoint, args)
#### 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** *extends* [`IParsedResponse`](../namespaces/APIResponseTypes/interfaces/IParsedResponse.md)
###### T
`T` *extends* [`IParsedResponse`](../interfaces/IParsedResponse.md)
##### Parameters
**endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
###### endpoint
**args**
[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
**args.parse**: `true`
###### args
###### parse
`true`
##### Returns
`Promise`\<`T`\>
##### Defined in
#### Call Signature
[src/Innertube.ts:558](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L558)
> **call**(`endpoint`, `args?`): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
#### call(endpoint, args)
Defined in: [src/Innertube.ts:574](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L574)
> **call**(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
Utility method to call an endpoint without having to use [Actions](Actions.md).
##### Parameters
**endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
###### endpoint
**args?**
[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
**args.parse?**: `false`
###### args?
###### parse?
`false`
##### Returns
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Defined in
[src/Innertube.ts:559](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L559)
***
### download()
> **download**(`video_id`, `options`?): `Promise`\<`ReadableStream`\<`Uint8Array`\>\>
> **download**(`video_id`, `options?`): `Promise`\<`ReadableStream`\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
Downloads a given video. If all you need the direct download link, see [getStreamingData](Innertube.md#getstreamingdata).
If you wish to retrieve the video info too, have a look at [getBasicInfo](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
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`
##### video\_id
`string`
The video id.
**options?**: [`DownloadOptions`](../namespaces/Types/interfaces/DownloadOptions.md)
##### options?
[`DownloadOptions`](../youtubei.js/namespaces/Types/interfaces/DownloadOptions.md)
Download options.
#### Returns
`Promise`\<`ReadableStream`\<`Uint8Array`\>\>
#### Defined in
[src/Innertube.ts:448](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L448)
`Promise`\<`ReadableStream`\<`Uint8Array`\<`ArrayBufferLike`\>\>\>
***
### getAttestationChallenge()
> **getAttestationChallenge**(`engagement_type`, `ids`?): `Promise`\<[`IGetChallengeResponse`](../namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)\>
> **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`](../namespaces/Types/type-aliases/EngagementType.md)
##### engagement\_type
**ids?**: `Record`\<`string`, `any`\>[]
[`EngagementType`](../youtubei.js/namespaces/Types/type-aliases/EngagementType.md)
##### ids?
`Record`\<`string`, `any`\>[]
#### Returns
`Promise`\<[`IGetChallengeResponse`](../namespaces/APIResponseTypes/type-aliases/IGetChallengeResponse.md)\>
#### Defined in
[src/Innertube.ts:544](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L544)
`Promise`\<[`IGetChallengeResponse`](../type-aliases/IGetChallengeResponse.md)\>
***
### getBasicInfo()
> **getBasicInfo**(`video_id`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
> **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`
##### video\_id
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
`string`
##### options?
[`GetVideoInfoOptions`](../youtubei.js/namespaces/Types/interfaces/GetVideoInfoOptions.md)
#### Returns
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Defined in
[src/Innertube.ts:116](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L116)
`Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
***
### getChannel()
> **getChannel**(`id`): `Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
> **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`
##### id
`string`
#### Returns
`Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
#### Defined in
[src/Innertube.ts:367](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L367)
`Promise`\<[`Channel`](../youtubei.js/namespaces/YT/classes/Channel.md)\>
***
### getChannelsFeed()
> **getChannelsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
> **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`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:361](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L361)
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
***
### getComments()
> **getComments**(`video_id`, `sort_by`?, `comment_id`?): `Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
> **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`
##### video\_id
**sort\_by?**: `"TOP_COMMENTS"` \| `"NEWEST_FIRST"`
`string`
**comment\_id?**: `string`
##### sort\_by?
`"TOP_COMMENTS"` | `"NEWEST_FIRST"`
##### comment\_id?
`string`
#### Returns
`Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
#### Defined in
[src/Innertube.ts:282](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L282)
`Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
***
### getCourses()
> **getCourses**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
> **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`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:349](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L349)
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
***
### getGuide()
> **getGuide**(): `Promise`\<[`Guide`](../namespaces/YT/classes/Guide.md)\>
> **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`](../namespaces/YT/classes/Guide.md)\>
#### Defined in
[src/Innertube.ts:326](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L326)
`Promise`\<[`Guide`](../youtubei.js/namespaces/YT/classes/Guide.md)\>
***
### getHashtag()
> **getHashtag**(`hashtag`): `Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
> **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`
##### hashtag
`string`
#### Returns
`Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
#### Defined in
[src/Innertube.ts:407](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L407)
`Promise`\<[`HashtagFeed`](../youtubei.js/namespaces/YT/classes/HashtagFeed.md)\>
***
### getHistory()
> **getHistory**(): `Promise`\<[`History`](../namespaces/YT/classes/History.md)\>
> **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`](../namespaces/YT/classes/History.md)\>
#### Defined in
[src/Innertube.ts:337](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L337)
`Promise`\<[`History`](../youtubei.js/namespaces/YT/classes/History.md)\>
***
### getHomeFeed()
> **getHomeFeed**(): `Promise`\<[`HomeFeed`](../namespaces/YT/classes/HomeFeed.md)\>
> **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`](../namespaces/YT/classes/HomeFeed.md)\>
#### Defined in
[src/Innertube.ts:320](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L320)
`Promise`\<[`HomeFeed`](../youtubei.js/namespaces/YT/classes/HomeFeed.md)\>
***
### getInfo()
> **getInfo**(`target`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
> **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`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
##### target
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
`string` | [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
##### options?
[`GetVideoInfoOptions`](../youtubei.js/namespaces/Types/interfaces/GetVideoInfoOptions.md)
#### Returns
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Defined in
[src/Innertube.ts:73](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L73)
`Promise`\<[`VideoInfo`](../youtubei.js/namespaces/YT/classes/VideoInfo.md)\>
***
### getLibrary()
> **getLibrary**(): `Promise`\<[`Library`](../namespaces/YT/classes/Library.md)\>
> **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`](../namespaces/YT/classes/Library.md)\>
#### Defined in
[src/Innertube.ts:331](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L331)
`Promise`\<[`Library`](../youtubei.js/namespaces/YT/classes/Library.md)\>
***
### getNotifications()
> **getNotifications**(): `Promise`\<[`NotificationsMenu`](../namespaces/YT/classes/NotificationsMenu.md)\>
> **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`](../namespaces/YT/classes/NotificationsMenu.md)\>
#### Defined in
[src/Innertube.ts:374](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L374)
`Promise`\<[`NotificationsMenu`](../youtubei.js/namespaces/YT/classes/NotificationsMenu.md)\>
***
### getPlaylist()
> **getPlaylist**(`id`): `Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
> **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`
##### id
`string`
#### Returns
`Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
#### Defined in
[src/Innertube.ts:394](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L394)
`Promise`\<[`Playlist`](../youtubei.js/namespaces/YT/classes/Playlist.md)\>
***
### getPlaylists()
> **getPlaylists**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
> **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`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:388](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L388)
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
***
### getPost()
> **getPost**(`post_id`, `channel_id`): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
> **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`
##### post\_id
**channel\_id**: `string`
`string`
##### channel\_id
`string`
#### Returns
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:468](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L468)
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
***
### getPostComments()
> **getPostComments**(`post_id`, `channel_id`, `sort_by`?): `Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
> **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`
##### post\_id
**channel\_id**: `string`
`string`
**sort\_by?**: `"TOP_COMMENTS"` \| `"NEWEST_FIRST"`
##### channel\_id
`string`
##### sort\_by?
`"TOP_COMMENTS"` | `"NEWEST_FIRST"`
#### Returns
`Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
#### Defined in
[src/Innertube.ts:492](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L492)
`Promise`\<[`Comments`](../youtubei.js/namespaces/YT/classes/Comments.md)\>
***
### getSearchSuggestions()
> **getSearchSuggestions**(`query`, `previous_query`?): `Promise`\<`string`[]\>
> **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`
##### query
**previous\_query?**: `string`
`string`
##### previous\_query?
`string`
#### Returns
`Promise`\<`string`[]\>
#### Defined in
[src/Innertube.ts:255](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L255)
***
### getShortsVideoInfo()
> **getShortsVideoInfo**(`video_id`, `client`?): `Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
> **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`
##### video\_id
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
`string`
##### client?
[`InnerTubeClient`](../youtubei.js/namespaces/Types/type-aliases/InnerTubeClient.md)
#### Returns
`Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
#### Defined in
[src/Innertube.ts:146](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L146)
`Promise`\<[`ShortFormVideoInfo`](../youtubei.js/namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
***
### getStreamingData()
> **getStreamingData**(`video_id`, `options`): `Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
> **getStreamingData**(`video_id`, `options?`): `Promise`\<[`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)\>
An alternative to [download](Innertube.md#download).
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](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
If you wish to retrieve the video info too, have a look at [getBasicInfo](#getbasicinfo) or [getInfo](#getinfo).
#### Parameters
**video\_id**: `string`
##### video\_id
`string`
The video id.
**options**: [`FormatOptions`](../namespaces/Types/interfaces/FormatOptions.md) = `{}`
##### options?
[`FormatOptions`](../youtubei.js/namespaces/Types/interfaces/FormatOptions.md) = `{}`
Format options.
#### Returns
`Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
#### Defined in
[src/Innertube.ts:433](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L433)
`Promise`\<[`Format`](../youtubei.js/namespaces/Misc/classes/Format.md)\>
***
### getSubscriptionsFeed()
> **getSubscriptionsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
> **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`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:355](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L355)
***
### getTrending()
> **getTrending**(): `Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Returns
`Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:343](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L343)
`Promise`\<[`Feed`](../youtubei.js/namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../type-aliases/IBrowseResponse.md)\>\>
***
@@ -635,68 +637,68 @@ Format options.
> **getUnseenNotificationsCount**(): `Promise`\<`number`\>
Defined in: [src/Innertube.ts:402](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/Innertube.ts#L402)
#### Returns
`Promise`\<`number`\>
#### Defined in
[src/Innertube.ts:379](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L379)
***
### resolveURL()
> **resolveURL**(`url`): `Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
> **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`
##### url
`string`
#### Returns
`Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
#### Defined in
[src/Innertube.ts:456](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L456)
`Promise`\<[`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)\>
***
### search()
> **search**(`query`, `filters`): `Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
> **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`
##### query
**filters**: [`SearchFilters`](../namespaces/Types/type-aliases/SearchFilters.md) = `{}`
`string`
##### filters?
[`SearchFilters`](../youtubei.js/namespaces/Types/type-aliases/SearchFilters.md) = `{}`
#### Returns
`Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
#### Defined in
[src/Innertube.ts:179](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L179)
`Promise`\<[`Search`](../youtubei.js/namespaces/YT/classes/Search.md)\>
***
### create()
> `static` **create**(`config`): `Promise`\<[`Innertube`](Innertube.md)\>
> `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) = `{}`
##### config?
[`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
#### Returns
`Promise`\<[`Innertube`](Innertube.md)\>
#### Defined in
[src/Innertube.ts:69](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/Innertube.ts#L69)
`Promise`\<`Innertube`\>

View File

@@ -2,41 +2,41 @@
# Class: ItemSectionContinuation
Defined in: [src/parser/continuations.ts:9](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L9)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ItemSectionContinuation()
### Constructor
> **new ItemSectionContinuation**(`data`): [`ItemSectionContinuation`](ItemSectionContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`ItemSectionContinuation`](ItemSectionContinuation.md)
`ItemSectionContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:15](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L15)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L12)
Defined in: [src/parser/continuations.ts:12](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L12)
***
@@ -44,9 +44,7 @@
> `optional` **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L13)
Defined in: [src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L13)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:10](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L10)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,51 +2,49 @@
# Class: LiveChatContinuation
Defined in: [src/parser/continuations.ts:156](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L156)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new LiveChatContinuation()
### Constructor
> **new LiveChatContinuation**(`data`): [`LiveChatContinuation`](LiveChatContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`LiveChatContinuation`](LiveChatContinuation.md)
`LiveChatContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:174](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L174)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### action\_panel
> **action\_panel**: `null` \| [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L160)
Defined in: [src/parser/continuations.ts:160](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L160)
***
### actions
> **actions**: [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L159)
Defined in: [src/parser/continuations.ts:159](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L159)
***
@@ -54,9 +52,7 @@
> **continuation**: [`Continuation`](Continuation.md)
#### Defined in
[src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L171)
Defined in: [src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L171)
***
@@ -64,49 +60,55 @@
> **emojis**: `object`[]
#### Defined in
Defined in: [src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L165)
[src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/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**: `null` \| [`LiveChatHeader`](../namespaces/YTNodes/classes/LiveChatHeader.md)
> **header**: [`LiveChatHeader`](../youtubei.js/namespaces/YTNodes/classes/LiveChatHeader.md) \| `null`
#### Defined in
[src/parser/continuations.ts:162](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L162)
Defined in: [src/parser/continuations.ts:162](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L162)
***
### item\_list
> **item\_list**: `null` \| [`LiveChatItemList`](../namespaces/YTNodes/classes/LiveChatItemList.md)
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L161)
Defined in: [src/parser/continuations.ts:161](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L161)
***
### participants\_list
> **participants\_list**: `null` \| [`LiveChatParticipantsList`](../namespaces/YTNodes/classes/LiveChatParticipantsList.md)
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L163)
Defined in: [src/parser/continuations.ts:163](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L163)
***
### popout\_message
> **popout\_message**: `null` \| [`Message`](../namespaces/YTNodes/classes/Message.md)
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L164)
Defined in: [src/parser/continuations.ts:164](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L164)
***
@@ -114,13 +116,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -128,9 +128,7 @@
> **viewer\_name**: `string`
#### Defined in
[src/parser/continuations.ts:172](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L172)
Defined in: [src/parser/continuations.ts:172](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L172)
***
@@ -138,13 +136,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:157](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L157)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -152,17 +148,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -178,11 +182,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -190,17 +190,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -212,11 +220,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -224,17 +228,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -246,35 +258,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -284,8 +300,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,41 +2,41 @@
# Class: MusicPlaylistShelfContinuation
Defined in: [src/parser/continuations.ts:80](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L80)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new MusicPlaylistShelfContinuation()
### Constructor
> **new MusicPlaylistShelfContinuation**(`data`): [`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
`MusicPlaylistShelfContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:86](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L86)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L84)
Defined in: [src/parser/continuations.ts:84](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L84)
***
@@ -44,9 +44,7 @@
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L83)
Defined in: [src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L83)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:81](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L81)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,41 +2,41 @@
# Class: MusicShelfContinuation
Defined in: [src/parser/continuations.ts:93](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L93)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new MusicShelfContinuation()
### Constructor
> **new MusicShelfContinuation**(`data`): [`MusicShelfContinuation`](MusicShelfContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`MusicShelfContinuation`](MusicShelfContinuation.md)
`MusicShelfContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:99](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L99)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L97)
Defined in: [src/parser/continuations.ts:97](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L97)
***
@@ -44,9 +44,7 @@
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L96)
Defined in: [src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L96)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:94](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L94)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,41 +2,41 @@
# Class: NavigateAction
Defined in: [src/parser/continuations.ts:24](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L24)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new NavigateAction()
### Constructor
> **new NavigateAction**(`data`): [`NavigateAction`](NavigateAction.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`NavigateAction`](NavigateAction.md)
`NavigateAction`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:29](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L29)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### endpoint
> **endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
> **endpoint**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/continuations.ts:27](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L27)
Defined in: [src/parser/continuations.ts:27](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L27)
***
@@ -44,13 +44,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -58,13 +56,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:25](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L25)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -72,17 +68,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -98,11 +102,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -110,17 +110,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -132,11 +140,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -144,17 +148,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -166,35 +178,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -204,8 +220,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,23 +2,25 @@
# Class: OAuth2
Defined in: [src/core/OAuth2.ts:35](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L35)
## Constructors
### new OAuth2()
### Constructor
> **new OAuth2**(`session`): [`OAuth2`](OAuth2.md)
> **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)
##### session
[`Session`](Session.md)
#### Returns
[`OAuth2`](OAuth2.md)
#### Defined in
[src/core/OAuth2.ts:46](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L46)
`OAuth2`
## Properties
@@ -26,9 +28,7 @@
> **AUTH\_SERVER\_CODE\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:39](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L39)
Defined in: [src/core/OAuth2.ts:39](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L39)
***
@@ -36,9 +36,7 @@
> **AUTH\_SERVER\_REVOKE\_TOKEN\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:41](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L41)
Defined in: [src/core/OAuth2.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L41)
***
@@ -46,29 +44,23 @@
> **AUTH\_SERVER\_TOKEN\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:40](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L40)
Defined in: [src/core/OAuth2.ts:40](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L40)
***
### client\_id
> **client\_id**: `undefined` \| [`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)
> **client\_id**: [`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md) \| `undefined`
#### Defined in
[src/core/OAuth2.ts:43](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L43)
Defined in: [src/core/OAuth2.ts:43](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L43)
***
### oauth2\_tokens
> **oauth2\_tokens**: `undefined` \| [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
> **oauth2\_tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md) \| `undefined`
#### Defined in
[src/core/OAuth2.ts:44](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L44)
Defined in: [src/core/OAuth2.ts:44](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L44)
***
@@ -76,9 +68,7 @@
> **YTTV\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L38)
Defined in: [src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/OAuth2.ts#L38)
## Methods
@@ -86,119 +76,107 @@
> **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`\>
#### Defined in
[src/core/OAuth2.ts:105](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L105)
***
### 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)\>
#### Defined in
[src/core/OAuth2.ts:268](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L268)
***
### 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)\>
#### Defined in
[src/core/OAuth2.ts:236](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L236)
***
### init()
> **init**(`tokens`?): `Promise`\<`void`\>
> **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)
##### tokens?
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:54](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L54)
***
### 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)
##### device\_and\_user\_code
[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)
#### Returns
`void`
#### Defined in
[src/core/OAuth2.ts:130](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L130)
***
### 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`\>
#### Defined in
[src/core/OAuth2.ts:197](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L197)
***
### 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`\>
#### Defined in
[src/core/OAuth2.ts:126](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L126)
***
### revokeCredentials()
> **revokeCredentials**(): `Promise`\<`undefined` \| `Response`\>
> **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`\<`undefined` \| `Response`\>
#### Defined in
[src/core/OAuth2.ts:185](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L185)
`Promise`\<`Response` \| `undefined`\>
***
@@ -206,46 +184,44 @@
> **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)
##### tokens
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`void`
#### Defined in
[src/core/OAuth2.ts:85](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L85)
***
### 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`
#### Defined in
[src/core/OAuth2.ts:313](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L313)
***
### 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)
##### tokens
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`boolean`
#### Defined in
[src/core/OAuth2.ts:319](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/OAuth2.ts#L319)

View File

@@ -2,29 +2,31 @@
# Class: Platform
Defined in: [src/utils/Utils.ts:15](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/Utils.ts#L15)
## Constructors
### new Platform()
### Constructor
> **new Platform**(): [`Platform`](Platform.md)
> **new Platform**(): `Platform`
#### Returns
[`Platform`](Platform.md)
`Platform`
## Accessors
### shim
> `get` `static` **shim**(): [`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
#### Get Signature
#### Returns
> **get** `static` **shim**(): [`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
[`PlatformShim`](../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)
#### Defined in
##### Returns
[src/utils/Utils.ts:19](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Utils.ts#L19)
[`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
## Methods
@@ -32,14 +34,14 @@
> `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`](../namespaces/Types/interfaces/PlatformShim.md)
##### platform
[`PlatformShim`](../youtubei.js/namespaces/Types/interfaces/PlatformShim.md)
#### Returns
`void`
#### Defined in
[src/utils/Utils.ts:16](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Utils.ts#L16)

View File

@@ -2,41 +2,43 @@
# 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
### new Player()
### Constructor
> **new Player**(`player_id`, `signature_timestamp`, `sig_sc`?, `nsig_sc`?): [`Player`](Player.md)
> **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`
##### player\_id
**signature\_timestamp**: `number`
`string`
**sig\_sc?**: `string`
##### signature\_timestamp
**nsig\_sc?**: `string`
`number`
##### data?
[`BuildScriptResult`](../youtubei.js/namespaces/Types/interfaces/BuildScriptResult.md)
#### Returns
[`Player`](Player.md)
#### Defined in
[src/core/Player.ts:17](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L17)
`Player`
## Properties
### nsig\_sc?
### data?
> `optional` **nsig\_sc**: `string`
> `optional` **data**: [`BuildScriptResult`](../youtubei.js/namespaces/Types/interfaces/BuildScriptResult.md)
#### Defined in
[src/core/Player.ts:13](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L13)
Defined in: [src/core/Player.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
***
@@ -44,9 +46,7 @@ Represents YouTube's player script. This is required to decipher signatures.
> **player\_id**: `string`
#### Defined in
[src/core/Player.ts:11](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L11)
Defined in: [src/core/Player.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
***
@@ -54,218 +54,162 @@ Represents YouTube's player script. This is required to decipher signatures.
> `optional` **po\_token**: `string`
#### Defined in
[src/core/Player.ts:15](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L15)
Defined in: [src/core/Player.ts:39](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L39)
***
### sig\_sc?
### signature\_timestamp
> `optional` **sig\_sc**: `string`
> **signature\_timestamp**: `number`
#### Defined in
[src/core/Player.ts:14](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L14)
***
### sts
> **sts**: `number`
#### Defined in
[src/core/Player.ts:12](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L12)
Defined in: [src/core/Player.ts:41](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Player.ts#L41)
## Accessors
### url
> `get` **url**(): `string`
#### Get Signature
#### Returns
> **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`
#### Defined in
[src/core/Player.ts:261](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L261)
***
### LIBRARY\_VERSION
> `get` `static` **LIBRARY\_VERSION**(): `number`
#### Get Signature
#### Returns
> **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`
#### Defined in
[src/core/Player.ts:265](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L265)
## Methods
### cache()
> **cache**(`cache`?): `Promise`\<`void`\>
> **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`](../namespaces/Types/interfaces/ICache.md)
##### cache?
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/Player.ts:200](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L200)
***
### decipher()
> **decipher**(`url`?, `signature_cipher`?, `cipher`?, `this_response_nsig_cache`?): `string`
> **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
##### url?
`string`
#### Defined in
##### signature\_cipher?
[src/core/Player.ts:78](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L78)
`string`
##### cipher?
`string`
##### this\_response\_nsig\_cache?
`Map`\<`string`, `string`\>
#### Returns
`Promise`\<`string`\>
***
### create()
> `static` **create**(`cache`, `fetch`, `po_token`?): `Promise`\<[`Player`](Player.md)\>
> `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**: `undefined` \| [`ICache`](../namespaces/Types/interfaces/ICache.md)
##### cache
**fetch** = `Platform.shim.fetch`
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md) | `undefined`
**po\_token?**: `string`
##### fetch?
\{(`input`, `init?`): `Promise`\<`Response`\>; (`input`, `init?`): `Promise`\<`Response`\>; \}
##### po\_token?
`string`
##### player\_id?
`string`
#### Returns
`Promise`\<[`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:24](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L24)
***
### extractNSigSourceCode()
> `static` **extractNSigSourceCode**(`data`): `undefined` \| `string`
#### Parameters
**data**: `string`
#### Returns
`undefined` \| `string`
#### Defined in
[src/core/Player.ts:245](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L245)
***
### extractSigSourceCode()
> `static` **extractSigSourceCode**(`data`): `undefined` \| `string`
#### Parameters
**data**: `string`
#### Returns
`undefined` \| `string`
#### Defined in
[src/core/Player.ts:226](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L226)
***
### extractSigTimestamp()
> `static` **extractSigTimestamp**(`data`): `number`
#### Parameters
**data**: `string`
#### Returns
`number`
#### Defined in
[src/core/Player.ts:222](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L222)
`Promise`\<`Player`\>
***
### fromCache()
> `static` **fromCache**(`cache`, `player_id`): `Promise`\<`null` \| [`Player`](Player.md)\>
> `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`](../namespaces/Types/interfaces/ICache.md)
##### cache
**player\_id**: `string`
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
##### player\_id
`string`
#### Returns
`Promise`\<`null` \| [`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:170](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L170)
`Promise`\<`Player` \| `null`\>
***
### fromSource()
> `static` **fromSource**(`player_id`, `sig_timestamp`, `cache`?, `sig_sc`?, `nsig_sc`?): `Promise`\<[`Player`](Player.md)\>
> `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`
##### player\_id
**sig\_timestamp**: `number`
`string`
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
##### options
**sig\_sc?**: `string`
**nsig\_sc?**: `string`
`PlayerInitializationOptions`
#### Returns
`Promise`\<[`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:194](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Player.ts#L194)
`Promise`\<`Player`\>

View File

@@ -2,41 +2,41 @@
# Class: PlaylistPanelContinuation
Defined in: [src/parser/continuations.ts:125](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L125)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new PlaylistPanelContinuation()
### Constructor
> **new PlaylistPanelContinuation**(`data`): [`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
`PlaylistPanelContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:131](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L131)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L129)
Defined in: [src/parser/continuations.ts:129](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L129)
***
@@ -44,9 +44,7 @@
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L128)
Defined in: [src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L128)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:126](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L126)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,41 +2,41 @@
# Class: ReloadContinuationItemsCommand
Defined in: [src/parser/continuations.ts:50](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L50)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ReloadContinuationItemsCommand()
### Constructor
> **new ReloadContinuationItemsCommand**(`data`): [`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
`ReloadContinuationItemsCommand`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:57](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L57)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L54)
Defined in: [src/parser/continuations.ts:54](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L54)
***
@@ -44,9 +44,7 @@
> `optional` **slot**: `string`
#### Defined in
[src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L55)
Defined in: [src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L55)
***
@@ -54,9 +52,7 @@
> **target\_id**: `string`
#### Defined in
[src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L53)
Defined in: [src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L53)
***
@@ -64,13 +60,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -78,13 +72,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:51](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L51)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -92,17 +84,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -118,11 +118,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -130,17 +126,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -152,11 +156,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -164,17 +164,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -186,35 +194,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -224,8 +236,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,41 +2,41 @@
# Class: SectionListContinuation
Defined in: [src/parser/continuations.ts:65](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L65)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new SectionListContinuation()
### Constructor
> **new SectionListContinuation**(`data`): [`SectionListContinuation`](SectionListContinuation.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`SectionListContinuation`](SectionListContinuation.md)
`SectionListContinuation`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:71](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L71)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
> **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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L69)
Defined in: [src/parser/continuations.ts:69](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L69)
***
@@ -44,9 +44,7 @@
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L68)
Defined in: [src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L68)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:66](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L66)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,6 +2,8 @@
# 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
@@ -10,41 +12,61 @@ Represents an InnerTube session. This holds all the data needed to make requests
## Constructors
### new Session()
### Constructor
> **new Session**(`context`, `api_key`, `api_version`, `account_index`, `player`?, `cookie`?, `fetch`?, `cache`?, `po_token`?): [`Session`](Session.md)
> **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)
##### context
**api\_key**: `string`
[`Context`](../type-aliases/Context.md)
**api\_version**: `string`
##### api\_key
**account\_index**: `number`
`string`
**player?**: [`Player`](Player.md)
##### api\_version
**cookie?**: `string`
`string`
**fetch?**
##### account\_index
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
`number`
**po\_token?**: `string`
##### 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`](Session.md)
`Session`
#### Overrides
[`EventEmitter`](EventEmitter.md).[`constructor`](EventEmitter.md#constructors)
#### Defined in
[src/core/Session.ts:237](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L237)
[`EventEmitter`](EventEmitter.md).[`constructor`](EventEmitter.md#constructor)
## Properties
@@ -52,9 +74,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **account\_index**: `number`
#### Defined in
[src/core/Session.ts:232](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L232)
Defined in: [src/core/Session.ts:268](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L268)
***
@@ -62,9 +82,15 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **actions**: [`Actions`](Actions.md)
#### Defined in
Defined in: [src/core/Session.ts:261](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L261)
[src/core/Session.ts:228](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L228)
***
### 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)
***
@@ -72,19 +98,23 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **api\_version**: `string`
#### Defined in
[src/core/Session.ts:231](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L231)
Defined in: [src/core/Session.ts:267](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L267)
***
### cache?
> `optional` **cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
> `optional` **cache**: [`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
#### Defined in
Defined in: [src/core/Session.ts:273](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L273)
[src/core/Session.ts:229](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L229)
***
### 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)
***
@@ -92,9 +122,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **context**: [`Context`](../type-aliases/Context.md)
#### Defined in
[src/core/Session.ts:223](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L223)
Defined in: [src/core/Session.ts:265](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L265)
***
@@ -102,9 +130,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> `optional` **cookie**: `string`
#### Defined in
[src/core/Session.ts:234](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L234)
Defined in: [src/core/Session.ts:271](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L271)
***
@@ -112,19 +138,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **http**: [`HTTPClient`](HTTPClient.md)
#### Defined in
[src/core/Session.ts:226](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L226)
***
### key
> **key**: `string`
#### Defined in
[src/core/Session.ts:230](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L230)
Defined in: [src/core/Session.ts:259](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L259)
***
@@ -132,9 +146,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **logged\_in**: `boolean`
#### Defined in
[src/core/Session.ts:227](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L227)
Defined in: [src/core/Session.ts:260](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L260)
***
@@ -142,9 +154,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> **oauth**: [`OAuth2`](OAuth2.md)
#### Defined in
[src/core/Session.ts:225](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L225)
Defined in: [src/core/Session.ts:258](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L258)
***
@@ -152,9 +162,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> `optional` **player**: [`Player`](Player.md)
#### Defined in
[src/core/Session.ts:224](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L224)
Defined in: [src/core/Session.ts:270](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L270)
***
@@ -162,9 +170,7 @@ Represents an InnerTube session. This holds all the data needed to make requests
> `optional` **po\_token**: `string`
#### Defined in
[src/core/Session.ts:233](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L233)
Defined in: [src/core/Session.ts:274](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L274)
***
@@ -172,81 +178,75 @@ Represents an InnerTube session. This holds all the data needed to make requests
> `optional` **user\_agent**: `string`
#### Defined in
[src/core/Session.ts:235](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L235)
Defined in: [src/core/Session.ts:262](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L262)
## Accessors
### client\_name
> `get` **client\_name**(): `string`
#### Get Signature
#### Returns
> **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`
#### Defined in
[src/core/Session.ts:594](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L594)
***
### client\_version
> `get` **client\_version**(): `string`
#### Get Signature
#### Returns
> **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`
#### Defined in
[src/core/Session.ts:590](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L590)
***
### lang
> `get` **lang**(): `string`
#### Get Signature
#### Returns
> **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`
#### Defined in
[src/core/Session.ts:598](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L598)
## Methods
### addEventListener()
> **addEventListener**(`type`, `callback`, `options`?): `void`
> **addEventListener**(`type`, `callback`, `options?`): `void`
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
Defined in: node\_modules/typescript/lib/lib.dom.d.ts:11569
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
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`
##### type
**callback**: `null` \| `EventListenerOrEventListenerObject`
`string`
**options?**: `boolean` \| `AddEventListenerOptions`
##### callback
`EventListenerOrEventListenerObject` | `null`
##### options?
`boolean` | `AddEventListenerOptions`
#### Returns
@@ -256,23 +256,23 @@ The event listener is appended to target's event listener list and is not append
[`EventEmitter`](EventEmitter.md).[`addEventListener`](EventEmitter.md#addeventlistener)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8256
***
### dispatchEvent()
> **dispatchEvent**(`event`): `boolean`
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
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`
##### event
`Event`
#### Returns
@@ -282,21 +282,23 @@ Dispatches a synthetic event event to target and returns true if either event's
[`EventEmitter`](EventEmitter.md).[`dispatchEvent`](EventEmitter.md#dispatchevent)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8262
***
### 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`
##### type
• ...**args**: `any`[]
`string`
##### args
...`any`[]
#### Returns
@@ -306,21 +308,23 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
[`EventEmitter`](EventEmitter.md).[`emit`](EventEmitter.md#emit)
#### Defined in
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L10)
***
### 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`
##### type
**listener**
`string`
##### listener
(...`args`) => `void`
#### Returns
@@ -330,23 +334,25 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
[`EventEmitter`](EventEmitter.md).[`off`](EventEmitter.md#off)
#### Defined in
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/EventEmitterLike.ts#L40)
***
### on()
#### on(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
`"auth"`
###### listener
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
@@ -356,19 +362,21 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
[`EventEmitter`](EventEmitter.md).[`on`](EventEmitter.md#on)
##### Defined in
[src/core/Session.ts:254](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L254)
#### on(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
`"auth-pending"`
###### listener
[`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
##### Returns
@@ -378,19 +386,21 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:255](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L255)
#### on(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
`"auth-error"`
###### listener
[`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
##### Returns
@@ -400,19 +410,21 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:256](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L256)
#### on(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
`"update-credentials"`
###### listener
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
@@ -422,23 +434,25 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:257](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L257)
***
### once()
#### once(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
`"auth"`
###### listener
[`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
@@ -448,19 +462,21 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
[`EventEmitter`](EventEmitter.md).[`once`](EventEmitter.md#once)
##### Defined in
[src/core/Session.ts:263](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L263)
#### once(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
`"auth-pending"`
###### listener
[`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
##### Returns
@@ -470,19 +486,21 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
`EventEmitter.once`
##### Defined in
[src/core/Session.ts:264](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L264)
#### once(type, listener)
#### 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"`
###### type
**listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
`"auth-error"`
###### listener
[`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
##### Returns
@@ -492,27 +510,31 @@ node\_modules/typescript/lib/lib.dom.d.ts:8262
`EventEmitter.once`
##### Defined in
[src/core/Session.ts:265](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L265)
***
### removeEventListener()
> **removeEventListener**(`type`, `callback`, `options`?): `void`
> **removeEventListener**(`type`, `callback`, `options?`): `void`
Removes the event listener in target's event listener list with the same type, callback, and options.
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`
##### type
**callback**: `null` \| `EventListenerOrEventListenerObject`
`string`
**options?**: `boolean` \| `EventListenerOptions`
##### callback
`EventListenerOrEventListenerObject` | `null`
##### options?
`boolean` | `EventListenerOptions`
#### Returns
@@ -522,146 +544,162 @@ Removes the event listener in target's event listener list with the same type, c
[`EventEmitter`](EventEmitter.md).[`removeEventListener`](EventEmitter.md#removeeventlistener)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8268
***
### signIn()
> **signIn**(`credentials`?): `Promise`\<`void`\>
> **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)
##### credentials?
[`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/Session.ts:557](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L557)
***
### signOut()
> **signOut**(): `Promise`\<`undefined` \| `Response`\>
> **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`\<`undefined` \| `Response`\>
#### Defined in
[src/core/Session.ts:580](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L580)
`Promise`\<`Response` \| `undefined`\>
***
### create()
> `static` **create**(`options`): `Promise`\<[`Session`](Session.md)\>
> `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) = `{}`
##### options?
[`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
#### Returns
`Promise`\<[`Session`](Session.md)\>
#### Defined in
[src/core/Session.ts:271](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L271)
`Promise`\<`Session`\>
***
### fromCache()
> `static` **fromCache**(`cache`, `session_args`): `Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
> `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`](../namespaces/Types/interfaces/ICache.md)
##### cache
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
A valid cache implementation.
**session\_args**: [`SessionArgs`](../type-aliases/SessionArgs.md)
##### session\_args
[`SessionArgs`](../type-aliases/SessionArgs.md)
User provided session arguments.
#### Returns
`Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
#### Defined in
[src/core/Session.ts:302](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L302)
`Promise`\<[`SessionData`](../type-aliases/SessionData.md) \| `null`\>
***
### getSessionData()
> `static` **getSessionData**(`lang`, `location`, `account_index`, `visitor_data`, `user_agent`, `enable_safety_mode`, `generate_session_locally`, `device_category`, `client_name`, `tz`, `fetch`, `on_behalf_of_user`?, `cache`?, `enable_session_cache`?, `po_token`?): `Promise`\<`object`\>
> `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` = `''`
##### lang?
**location**: `string` = `''`
`string` = `''`
**account\_index**: `number` = `0`
##### location?
**visitor\_data**: `string` = `''`
`string` = `''`
**user\_agent**: `string` = `...`
##### account\_index?
**enable\_safety\_mode**: `boolean` = `false`
`number` = `0`
**generate\_session\_locally**: `boolean` = `false`
##### visitor\_data?
**device\_category**: [`DeviceCategory`](../namespaces/Utils/type-aliases/DeviceCategory.md) = `'desktop'`
`string` = `''`
**client\_name**: [`ClientType`](../enumerations/ClientType.md) = `ClientType.WEB`
##### user\_agent?
**tz**: `string` = `...`
`string` = `...`
**fetch** = `Platform.shim.fetch`
##### enable\_safety\_mode?
**on\_behalf\_of\_user?**: `string`
`boolean` = `false`
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
##### generate\_session\_locally?
**enable\_session\_cache?**: `boolean` = `true`
`boolean` = `false`
**po\_token?**: `string`
##### 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`\<`object`\>
##### account\_index
> **account\_index**: `number`
##### api\_key
> **api\_key**: `string`
##### api\_version
> **api\_version**: `string`
##### context
> **context**: [`Context`](../type-aliases/Context.md)
#### Defined in
[src/core/Session.ts:341](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L341)
`Promise`\<\{ `account_index`: `number`; `api_key`: `string`; `api_version`: `string`; `config_data?`: `string`; `context`: [`Context`](../type-aliases/Context.md); \}\>

View File

@@ -2,41 +2,41 @@
# Class: ShowMiniplayerCommand
Defined in: [src/parser/continuations.ts:35](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L35)
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
- [`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ShowMiniplayerCommand()
### Constructor
> **new ShowMiniplayerCommand**(`data`): [`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
> **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`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
##### data
[`RawNode`](../type-aliases/RawNode.md)
#### Returns
[`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
`ShowMiniplayerCommand`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:41](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L41)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`constructor`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#constructor)
## Properties
### miniplayer\_command
> **miniplayer\_command**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
> **miniplayer\_command**: [`NavigationEndpoint`](../youtubei.js/namespaces/YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/continuations.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L38)
Defined in: [src/parser/continuations.ts:38](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L38)
***
@@ -44,9 +44,7 @@
> **show\_premium\_branding**: `boolean`
#### Defined in
[src/parser/continuations.ts:39](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L39)
Defined in: [src/parser/continuations.ts:39](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/parser/continuations.ts#L39)
***
@@ -54,13 +52,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L8)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type)
***
@@ -68,13 +64,11 @@
> `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`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:36](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/continuations.ts#L36)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`type`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#type-1)
## Methods
@@ -82,17 +76,25 @@
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The types to cast to
@@ -108,11 +110,7 @@ If the node is not of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L38)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`as`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#as)
***
@@ -120,17 +118,25 @@ If the node is not of the given type
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
@@ -142,11 +148,7 @@ Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L50)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`hasKey`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#haskey)
***
@@ -154,17 +156,25 @@ Whether the node has the key
> **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** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
##### T
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`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`
##### types
...`K`
The type to check
@@ -176,35 +186,39 @@ whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L28)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`is`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#is)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
> **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** *extends* `string`
##### T
**R** = `any`
`T` *extends* `string`
##### R
`R` = `any`
#### Parameters
**key**: `T`
##### key
`T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
[`Maybe`](../youtubei.js/namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
@@ -214,8 +228,4 @@ If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/helpers.ts#L60)
[`YTNode`](../youtubei.js/namespaces/Helpers/classes/YTNode.md).[`key`](../youtubei.js/namespaces/Helpers/classes/YTNode.md#key)

View File

@@ -2,69 +2,73 @@
# Class: UniversalCache
Defined in: [src/utils/Cache.ts:4](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/Cache.ts#L4)
## Implements
- [`ICache`](../namespaces/Types/interfaces/ICache.md)
- [`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md)
## Constructors
### new UniversalCache()
### Constructor
> **new UniversalCache**(`persistent`, `persistent_directory`?): [`UniversalCache`](UniversalCache.md)
> **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
**persistent\_directory?**: `string`
`boolean`
##### persistent\_directory?
`string`
#### Returns
[`UniversalCache`](UniversalCache.md)
#### Defined in
[src/utils/Cache.ts:6](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Cache.ts#L6)
`UniversalCache`
## Accessors
### cache\_dir
> `get` **cache\_dir**(): `string`
#### Get Signature
#### Returns
> **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`](../namespaces/Types/interfaces/ICache.md).[`cache_dir`](../namespaces/Types/interfaces/ICache.md#cache_dir)
#### Defined in
[src/utils/Cache.ts:9](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Cache.ts#L9)
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`cache_dir`](../youtubei.js/namespaces/Types/interfaces/ICache.md#cache_dir)
## Methods
### get()
> **get**(`key`): `Promise`\<`undefined` \| `ArrayBuffer`\>
> **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`
##### key
`string`
#### Returns
`Promise`\<`undefined` \| `ArrayBuffer`\>
`Promise`\<`ArrayBuffer` \| `undefined`\>
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`get`](../namespaces/Types/interfaces/ICache.md#get)
#### Defined in
[src/utils/Cache.ts:12](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Cache.ts#L12)
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`get`](../youtubei.js/namespaces/Types/interfaces/ICache.md#get)
***
@@ -72,9 +76,13 @@
> **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`
##### key
`string`
#### Returns
@@ -82,11 +90,7 @@
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`remove`](../namespaces/Types/interfaces/ICache.md#remove)
#### Defined in
[src/utils/Cache.ts:18](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Cache.ts#L18)
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`remove`](../youtubei.js/namespaces/Types/interfaces/ICache.md#remove)
***
@@ -94,11 +98,17 @@
> **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`
##### key
**value**: `ArrayBuffer`
`string`
##### value
`ArrayBuffer`
#### Returns
@@ -106,8 +116,4 @@
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`set`](../namespaces/Types/interfaces/ICache.md#set)
#### Defined in
[src/utils/Cache.ts:15](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/Cache.ts#L15)
[`ICache`](../youtubei.js/namespaces/Types/interfaces/ICache.md).[`set`](../youtubei.js/namespaces/Types/interfaces/ICache.md#set)

View File

@@ -2,15 +2,15 @@
# 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:22](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L22)
Defined in: [src/core/Session.ts:28](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L28)
***
@@ -18,9 +18,7 @@
> **ANDROID\_CREATOR**: `"ANDROID_CREATOR"`
#### Defined in
[src/core/Session.ts:24](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L24)
Defined in: [src/core/Session.ts:31](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L31)
***
@@ -28,9 +26,15 @@
> **ANDROID\_MUSIC**: `"ANDROID_MUSIC"`
#### Defined in
Defined in: [src/core/Session.ts:30](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L30)
[src/core/Session.ts:23](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L23)
***
### 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)
***
@@ -38,9 +42,7 @@
> **IOS**: `"iOS"`
#### Defined in
[src/core/Session.ts:21](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L21)
Defined in: [src/core/Session.ts:27](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L27)
***
@@ -48,9 +50,7 @@
> **KIDS**: `"WEB_KIDS"`
#### Defined in
[src/core/Session.ts:19](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L19)
Defined in: [src/core/Session.ts:25](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L25)
***
@@ -58,9 +58,7 @@
> **MUSIC**: `"WEB_REMIX"`
#### Defined in
[src/core/Session.ts:20](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L20)
Defined in: [src/core/Session.ts:26](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L26)
***
@@ -68,9 +66,7 @@
> **MWEB**: `"MWEB"`
#### Defined in
[src/core/Session.ts:18](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L18)
Defined in: [src/core/Session.ts:24](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L24)
***
@@ -78,9 +74,7 @@
> **TV**: `"TVHTML5"`
#### Defined in
[src/core/Session.ts:25](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L25)
Defined in: [src/core/Session.ts:32](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L32)
***
@@ -88,9 +82,15 @@
> **TV\_EMBEDDED**: `"TVHTML5_SIMPLY_EMBEDDED_PLAYER"`
#### Defined in
Defined in: [src/core/Session.ts:34](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L34)
[src/core/Session.ts:26](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L26)
***
### 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)
***
@@ -98,9 +98,7 @@
> **WEB**: `"WEB"`
#### Defined in
[src/core/Session.ts:17](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L17)
Defined in: [src/core/Session.ts:23](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L23)
***
@@ -108,9 +106,7 @@
> **WEB\_CREATOR**: `"WEB_CREATOR"`
#### Defined in
[src/core/Session.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L28)
Defined in: [src/core/Session.ts:36](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L36)
***
@@ -118,6 +114,4 @@
> **WEB\_EMBEDDED**: `"WEB_EMBEDDED_PLAYER"`
#### Defined in
[src/core/Session.ts:27](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Session.ts#L27)
Defined in: [src/core/Session.ts:35](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Session.ts#L35)

View File

@@ -2,15 +2,15 @@
# 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`](../namespaces/APIResponseTypes/interfaces/IRawResponse.md)
> **data**: [`IRawResponse`](IRawResponse.md)
#### Defined in
[src/core/Actions.ts:21](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L21)
Defined in: [src/core/Actions.ts:21](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L21)
***
@@ -18,9 +18,7 @@
> **status\_code**: `number`
#### Defined in
[src/core/Actions.ts:20](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L20)
Defined in: [src/core/Actions.ts:20](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L20)
***
@@ -28,6 +26,4 @@
> **success**: `boolean`
#### Defined in
[src/core/Actions.ts:19](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/core/Actions.ts#L19)
Defined in: [src/core/Actions.ts:19](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/core/Actions.ts#L19)

View File

@@ -2,12 +2,12 @@
# 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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/utils/HTTPClient.ts#L14)
Defined in: [src/utils/HTTPClient.ts:14](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/HTTPClient.ts#L14)

View 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)

View 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`

View 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)

View 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)

View 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)

View 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`

View 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)

View 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`

View 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)

View 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)

View 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)

View 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)

View File

@@ -1,66 +0,0 @@
[youtubei.js](../../README.md) / APIResponseTypes
# APIResponseTypes
## Index
### Interfaces
- [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)
- [IResponseContext](interfaces/IResponseContext.md)
- [IServiceTrackingParams](interfaces/IServiceTrackingParams.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)
- [ContinuationRequest](type-aliases/ContinuationRequest.md)
- [CpnSource](type-aliases/CpnSource.md)
- [CreateCommentRequest](type-aliases/CreateCommentRequest.md)
- [CreatePlaylistServiceRequest](type-aliases/CreatePlaylistServiceRequest.md)
- [DeletePlaylistServiceRequest](type-aliases/DeletePlaylistServiceRequest.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)
- [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)
- [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)
- [ShareEntityServiceRequest](type-aliases/ShareEntityServiceRequest.md)
- [SubscribeRequest](type-aliases/SubscribeRequest.md)
- [UnsubscribeRequest](type-aliases/UnsubscribeRequest.md)
- [WatchNextRequest](type-aliases/WatchNextRequest.md)
- [WatchRequest](type-aliases/WatchRequest.md)

View File

@@ -1,53 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IBotguardChallenge
# Interface: IBotguardChallenge
## Properties
### client\_experiments\_state\_blob
> **client\_experiments\_state\_blob**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:93](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L93)
***
### global\_name
> **global\_name**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:92](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L92)
***
### interpreter\_hash
> **interpreter\_hash**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:90](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L90)
***
### interpreter\_url
> **interpreter\_url**: [`ITrustedResource`](ITrustedResource.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:89](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L89)
***
### program
> **program**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:91](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L91)

View File

@@ -1,35 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IEndpoint
# Interface: IEndpoint\<T\>
## Type Parameters
**T** = `any`
## Methods
### buildRequest()
> **buildRequest**(): `T`
#### Returns
`T`
#### Defined in
[src/parser/types/CommandEndpoints.ts:3](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L3)
***
### getApiPath()
> **getApiPath**(): `string`
#### Returns
`string`
#### Defined in
[src/parser/types/CommandEndpoints.ts:2](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L2)

View File

@@ -1,511 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IParsedResponse
# Interface: IParsedResponse
## Properties
### actions?
> `optional` **actions**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:30](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L30)
***
### actions\_memo?
> `optional` **actions\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:31](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L31)
***
### alerts?
> `optional` **alerts**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Alert`](../../YTNodes/classes/Alert.md) \| [`AlertWithButton`](../../YTNodes/classes/AlertWithButton.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:54](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L54)
***
### annotations?
> `optional` **annotations**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`PlayerAnnotationsExpanded`](../../YTNodes/classes/PlayerAnnotationsExpanded.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:66](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L66)
***
### background?
> `optional` **background**: [`MusicThumbnail`](../../YTNodes/classes/MusicThumbnail.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:27](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L27)
***
### bg\_challenge?
> `optional` **bg\_challenge**: [`IBotguardChallenge`](IBotguardChallenge.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:29](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L29)
***
### captions?
> `optional` **captions**: [`PlayerCaptionsTracklist`](../../YTNodes/classes/PlayerCaptionsTracklist.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:64](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L64)
***
### cards?
> `optional` **cards**: [`CardCollection`](../../YTNodes/classes/CardCollection.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:69](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L69)
***
### challenge?
> `optional` **challenge**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L28)
***
### contents?
> `optional` **contents**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:32](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L32)
***
### contents\_memo?
> `optional` **contents\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:33](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L33)
***
### continuation?
> `optional` **continuation**: [`Continuation`](../../../classes/Continuation.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:47](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L47)
***
### 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:48](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L48)
***
### continuation\_contents\_memo?
> `optional` **continuation\_contents\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L50)
***
### continuation\_endpoint?
> `optional` **continuation\_endpoint**: [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:78](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L78)
***
### cpn\_info?
> `optional` **cpn\_info**: `object`
#### cpn
> **cpn**: `string`
#### cpn\_source
> **cpn\_source**: [`CpnSource`](../type-aliases/CpnSource.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:70](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L70)
***
### current\_video\_endpoint?
> `optional` **current\_video\_endpoint**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:62](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L62)
***
### endpoint?
> `optional` **endpoint**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:63](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L63)
***
### endscreen?
> `optional` **endscreen**: [`Endscreen`](../../YTNodes/classes/Endscreen.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:68](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L68)
***
### engagement\_panels?
> `optional` **engagement\_panels**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`EngagementPanelSectionList`](../../YTNodes/classes/EngagementPanelSectionList.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:74](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L74)
***
### entries?
> `optional` **entries**: [`NavigationEndpoint`](../../YTNodes/classes/NavigationEndpoint.md)[]
#### Defined in
[src/parser/types/ParsedResponse.ts:76](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L76)
***
### entries\_memo?
> `optional` **entries\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:77](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L77)
***
### estimated\_results?
> `optional` **estimated\_results**: `number`
#### Defined in
[src/parser/types/ParsedResponse.ts:56](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L56)
***
### header?
> `optional` **header**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:34](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L34)
***
### header\_memo?
> `optional` **header\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:35](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L35)
***
### items?
> `optional` **items**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:75](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L75)
***
### items\_memo?
> `optional` **items\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:40](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L40)
***
### live\_chat\_item\_context\_menu\_supported\_renderers?
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers**: [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:38](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L38)
***
### live\_chat\_item\_context\_menu\_supported\_renderers\_memo?
> `optional` **live\_chat\_item\_context\_menu\_supported\_renderers\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:39](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L39)
***
### metadata?
> `optional` **metadata**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:51](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L51)
***
### microformat?
> `optional` **microformat**: [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:52](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L52)
***
### on\_response\_received\_actions?
> `optional` **on\_response\_received\_actions**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:41](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L41)
***
### on\_response\_received\_actions\_memo?
> `optional` **on\_response\_received\_actions\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:42](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L42)
***
### on\_response\_received\_commands?
> `optional` **on\_response\_received\_commands**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:45](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L45)
***
### on\_response\_received\_commands\_memo?
> `optional` **on\_response\_received\_commands\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:46](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L46)
***
### on\_response\_received\_endpoints?
> `optional` **on\_response\_received\_endpoints**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`AppendContinuationItemsAction`](../../YTNodes/classes/AppendContinuationItemsAction.md) \| [`OpenPopupAction`](../../YTNodes/classes/OpenPopupAction.md) \| [`NavigateAction`](../../../classes/NavigateAction.md) \| [`ShowMiniplayerCommand`](../../../classes/ShowMiniplayerCommand.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:43](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L43)
***
### on\_response\_received\_endpoints\_memo?
> `optional` **on\_response\_received\_endpoints\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:44](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L44)
***
### overlay?
> `optional` **overlay**: [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:53](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L53)
***
### playability\_status?
> `optional` **playability\_status**: [`IPlayabilityStatus`](IPlayabilityStatus.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:59](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L59)
***
### playback\_tracking?
> `optional` **playback\_tracking**: [`IPlaybackTracking`](IPlaybackTracking.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:58](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L58)
***
### player\_config?
> `optional` **player\_config**: [`IPlayerConfig`](IPlayerConfig.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:61](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L61)
***
### player\_overlays?
> `optional` **player\_overlays**: [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/types/ParsedResponse.ts:57](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L57)
***
### player\_response?
> `optional` **player\_response**: [`IPlayerResponse`](../type-aliases/IPlayerResponse.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:79](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L79)
***
### refinements?
> `optional` **refinements**: `string`[]
#### Defined in
[src/parser/types/ParsedResponse.ts:55](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L55)
***
### sidebar?
> `optional` **sidebar**: [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:36](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L36)
***
### sidebar\_memo?
> `optional` **sidebar\_memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:37](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L37)
***
### storyboards?
> `optional` **storyboards**: [`PlayerStoryboardSpec`](../../YTNodes/classes/PlayerStoryboardSpec.md) \| [`PlayerLiveStoryboardSpec`](../../YTNodes/classes/PlayerLiveStoryboardSpec.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:67](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L67)
***
### streaming\_data?
> `optional` **streaming\_data**: [`IStreamingData`](IStreamingData.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L60)
***
### video\_details?
> `optional` **video\_details**: [`VideoDetails`](../../Misc/classes/VideoDetails.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:65](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L65)
***
### watch\_next\_response?
> `optional` **watch\_next\_response**: [`INextResponse`](../type-aliases/INextResponse.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:80](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L80)

View File

@@ -1,53 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlayabilityStatus
# Interface: IPlayabilityStatus
## Properties
### audio\_only\_playability
> **audio\_only\_playability**: `null` \| [`AudioOnlyPlayability`](../../YTNodes/classes/AudioOnlyPlayability.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:103](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L103)
***
### embeddable
> **embeddable**: `boolean`
#### Defined in
[src/parser/types/ParsedResponse.ts:104](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L104)
***
### error\_screen
> **error\_screen**: `null` \| [`YTNode`](../../Helpers/classes/YTNode.md)
#### Defined in
[src/parser/types/ParsedResponse.ts:102](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L102)
***
### reason
> **reason**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:105](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L105)
***
### status
> **status**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:101](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L101)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlaybackTracking
# Interface: IPlaybackTracking
## Properties
### videostats\_playback\_url
> **videostats\_playback\_url**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:98](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L98)
***
### videostats\_watchtime\_url
> **videostats\_watchtime\_url**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:97](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L97)

View File

@@ -1,73 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IPlayerConfig
# Interface: IPlayerConfig
## Properties
### audio\_config
> **audio\_config**: `object`
#### enable\_per\_format\_loudness
> **enable\_per\_format\_loudness**: `boolean`
#### loudness\_db?
> `optional` **loudness\_db**: `number`
#### perceptual\_loudness\_db?
> `optional` **perceptual\_loudness\_db**: `number`
#### Defined in
[src/parser/types/ParsedResponse.ts:109](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L109)
***
### media\_common\_config
> **media\_common\_config**: `object`
#### 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`
#### Defined in
[src/parser/types/ParsedResponse.ts:117](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L117)
***
### stream\_selection\_config
> **stream\_selection\_config**: `object`
#### max\_bitrate
> **max\_bitrate**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:114](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L114)

View File

@@ -1,53 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawBotguardChallenge
# Interface: IRawBotguardChallenge
## Properties
### clientExperimentsStateBlob
> **clientExperimentsStateBlob**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L50)
***
### globalName
> **globalName**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:49](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L49)
***
### interpreterHash
> **interpreterHash**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:47](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L47)
***
### interpreterUrl
> **interpreterUrl**: [`IRawTrustedResource`](IRawTrustedResource.md)
#### Defined in
[src/parser/types/RawResponse.ts:46](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L46)
***
### program
> **program**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:48](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L48)

View File

@@ -1,73 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawPlayerConfig
# Interface: IRawPlayerConfig
## Properties
### audioConfig
> **audioConfig**: `object`
#### enablePerFormatLoudness
> **enablePerFormatLoudness**: `boolean`
#### loudnessDb?
> `optional` **loudnessDb**: `number`
#### perceptualLoudnessDb?
> `optional` **perceptualLoudnessDb**: `number`
#### Defined in
[src/parser/types/RawResponse.ts:20](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L20)
***
### mediaCommonConfig
> **mediaCommonConfig**: `object`
#### dynamicReadaheadConfig?
> `optional` **dynamicReadaheadConfig**: `object`
#### dynamicReadaheadConfig.maxReadAheadMediaTimeMs
> **maxReadAheadMediaTimeMs**: `number`
#### dynamicReadaheadConfig.minReadAheadMediaTimeMs
> **minReadAheadMediaTimeMs**: `number`
#### dynamicReadaheadConfig.readAheadGrowthRateMs
> **readAheadGrowthRateMs**: `number`
#### mediaUstreamerRequestConfig?
> `optional` **mediaUstreamerRequestConfig**: `object`
#### mediaUstreamerRequestConfig.videoPlaybackUstreamerConfig
> **videoPlaybackUstreamerConfig**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:28](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L28)
***
### streamSelectionConfig
> **streamSelectionConfig**: `object`
#### maxBitrate
> **maxBitrate**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:25](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L25)

View File

@@ -1,495 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawResponse
# Interface: IRawResponse
## Indexable
\[`key`: `string`\]: `any`
## Properties
### actions?
> `optional` **actions**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:63](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L63)
***
### alerts?
> `optional` **alerts**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:71](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L71)
***
### annotations?
> `optional` **annotations**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:107](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L107)
***
### background?
> `optional` **background**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:55](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L55)
***
### bgChallenge?
> `optional` **bgChallenge**: [`IRawBotguardChallenge`](IRawBotguardChallenge.md)
#### Defined in
[src/parser/types/RawResponse.ts:56](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L56)
***
### captions?
> `optional` **captions**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:105](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L105)
***
### cards?
> `optional` **cards**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:110](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L110)
***
### challenge?
> `optional` **challenge**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:57](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L57)
***
### contents?
> `optional` **contents**: [`RawData`](../type-aliases/RawData.md)
#### Defined in
[src/parser/types/RawResponse.ts:58](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L58)
***
### continuation?
> `optional` **continuation**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:67](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L67)
***
### continuationContents?
> `optional` **continuationContents**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:62](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L62)
***
### cpnInfo?
> `optional` **cpnInfo**: `object`
#### cpn
> **cpn**: `string`
#### cpnSource
> **cpnSource**: [`CpnSource`](../type-aliases/CpnSource.md)
#### Defined in
[src/parser/types/RawResponse.ts:111](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L111)
***
### currentVideoEndpoint?
> `optional` **currentVideoEndpoint**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:101](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L101)
***
### endpoint?
> `optional` **endpoint**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:104](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L104)
***
### endscreen?
> `optional` **endscreen**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:109](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L109)
***
### engagementPanels?
> `optional` **engagementPanels**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:117](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L117)
***
### entries?
> `optional` **entries**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:118](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L118)
***
### estimatedResults?
> `optional` **estimatedResults**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:73](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L73)
***
### frameworkUpdates?
> `optional` **frameworkUpdates**: `any`
#### Defined in
[src/parser/types/RawResponse.ts:116](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L116)
***
### header?
> `optional` **header**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:65](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L65)
***
### items?
> `optional` **items**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:115](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L115)
***
### liveChatItemContextMenuSupportedRenderers?
> `optional` **liveChatItemContextMenuSupportedRenderers**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:64](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L64)
***
### metadata?
> `optional` **metadata**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:68](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L68)
***
### microformat?
> `optional` **microformat**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:69](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L69)
***
### onResponseReceivedActions?
> `optional` **onResponseReceivedActions**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:59](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L59)
***
### onResponseReceivedCommands?
> `optional` **onResponseReceivedCommands**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:61](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L61)
***
### onResponseReceivedEndpoints?
> `optional` **onResponseReceivedEndpoints**: [`RawNode`](../type-aliases/RawNode.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:60](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L60)
***
### overlay?
> `optional` **overlay**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:70](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L70)
***
### playabilityStatus?
> `optional` **playabilityStatus**: `object`
#### 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`
#### Defined in
[src/parser/types/RawResponse.ts:83](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L83)
***
### playbackTracking?
> `optional` **playbackTracking**: `object`
#### videostatsPlaybackUrl
> **videostatsPlaybackUrl**: `object`
#### videostatsPlaybackUrl.baseUrl
> **baseUrl**: `string`
#### videostatsWatchtimeUrl
> **videostatsWatchtimeUrl**: `object`
#### videostatsWatchtimeUrl.baseUrl
> **baseUrl**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:75](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L75)
***
### playerConfig?
> `optional` **playerConfig**: [`IRawPlayerConfig`](IRawPlayerConfig.md)
#### Defined in
[src/parser/types/RawResponse.ts:98](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L98)
***
### playerOverlays?
> `optional` **playerOverlays**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:74](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L74)
***
### playerResponse?
> `optional` **playerResponse**: [`IRawResponse`](IRawResponse.md)
#### Defined in
[src/parser/types/RawResponse.ts:99](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L99)
***
### playlistId?
> `optional` **playlistId**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:103](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L103)
***
### refinements?
> `optional` **refinements**: `string`[]
#### Defined in
[src/parser/types/RawResponse.ts:72](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L72)
***
### responseContext?
> `optional` **responseContext**: [`IResponseContext`](IResponseContext.md)
#### Defined in
[src/parser/types/RawResponse.ts:54](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L54)
***
### sidebar?
> `optional` **sidebar**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:66](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L66)
***
### storyboards?
> `optional` **storyboards**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:108](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L108)
***
### streamingData?
> `optional` **streamingData**: `object`
#### 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`
#### Defined in
[src/parser/types/RawResponse.ts:90](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L90)
***
### unseenCount?
> `optional` **unseenCount**: `number`
#### Defined in
[src/parser/types/RawResponse.ts:102](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L102)
***
### videoDetails?
> `optional` **videoDetails**: [`RawNode`](../type-aliases/RawNode.md)
#### Defined in
[src/parser/types/RawResponse.ts:106](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L106)
***
### watchNextResponse?
> `optional` **watchNextResponse**: [`IRawResponse`](IRawResponse.md)
#### Defined in
[src/parser/types/RawResponse.ts:100](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L100)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IRawTrustedResource
# Interface: IRawTrustedResource
## Properties
### privateDoNotAccessOrElseSafeScriptWrappedValue?
> `optional` **privateDoNotAccessOrElseSafeScriptWrappedValue**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:42](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L42)
***
### privateDoNotAccessOrElseTrustedResourceUrlWrappedValue?
> `optional` **privateDoNotAccessOrElseTrustedResourceUrlWrappedValue**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:41](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L41)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IResponseContext
# Interface: IResponseContext
## Properties
### maxAgeSeconds
> **maxAgeSeconds**: `number`
#### Defined in
[src/parser/types/RawResponse.ts:16](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L16)
***
### serviceTrackingParams
> **serviceTrackingParams**: [`IServiceTrackingParams`](IServiceTrackingParams.md)[]
#### Defined in
[src/parser/types/RawResponse.ts:15](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L15)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IServiceTrackingParams
# Interface: IServiceTrackingParams
## Properties
### params?
> `optional` **params**: `object`[]
#### Defined in
[src/parser/types/RawResponse.ts:8](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L8)
***
### service
> **service**: `string`
#### Defined in
[src/parser/types/RawResponse.ts:7](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L7)

View File

@@ -1,63 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IStreamingData
# Interface: IStreamingData
## Properties
### adaptive\_formats
> **adaptive\_formats**: [`Format`](../../Misc/classes/Format.md)[]
#### Defined in
[src/parser/types/ParsedResponse.ts:132](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L132)
***
### dash\_manifest\_url?
> `optional` **dash\_manifest\_url**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:133](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L133)
***
### expires
> **expires**: `Date`
#### Defined in
[src/parser/types/ParsedResponse.ts:130](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L130)
***
### formats
> **formats**: [`Format`](../../Misc/classes/Format.md)[]
#### Defined in
[src/parser/types/ParsedResponse.ts:131](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L131)
***
### hls\_manifest\_url?
> `optional` **hls\_manifest\_url**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:134](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L134)
***
### server\_abr\_streaming\_url?
> `optional` **server\_abr\_streaming\_url**: `string`
#### Defined in
[src/parser/types/ParsedResponse.ts:135](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L135)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ITrustedResource
# Interface: ITrustedResource
## 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:85](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L85)
***
### 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:84](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L84)

View File

@@ -1,27 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / AddToPlaylistServiceRequest
# Type Alias: AddToPlaylistServiceRequest
> **AddToPlaylistServiceRequest**: `object`
## Type declaration
### excludeWatchLater?
> `optional` **excludeWatchLater**: `boolean`
### params?
> `optional` **params**: `string`
### playlistId?
> `optional` **playlistId**: `string`
### videoIds?
> `optional` **videoIds**: `string`[]
## Defined in
[src/parser/types/CommandEndpoints.ts:55](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L55)

View File

@@ -1,39 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / BrowseRequest
# Type Alias: BrowseRequest
> **BrowseRequest**: `object`
## Type declaration
### browseId?
> `optional` **browseId**: `string`
### browseRequestSupportedMetadata?
> `optional` **browseRequestSupportedMetadata**: [`BrowseRequestSupportedMetadata`](BrowseRequestSupportedMetadata.md)
### formData?
> `optional` **formData**: [`FormData`](FormData.md)
### inlineSettingStatus?
> `optional` **inlineSettingStatus**: [`InlineSettingStatus`](InlineSettingStatus.md)
### params?
> `optional` **params**: `string`
### query?
> `optional` **query**: `string`
### subscriptionSettingsState?
> `optional` **subscriptionSettingsState**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:6](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L6)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / BrowseRequestSupportedMetadata
# Type Alias: BrowseRequestSupportedMetadata
> **BrowseRequestSupportedMetadata**: `object`
## Type declaration
### downloadsBrowseParams
> **downloadsBrowseParams**: `object`
### downloadsBrowseParams.offlineFeatureSettingState
> **offlineFeatureSettingState**: `object`
### downloadsBrowseParams.offlineFeatureSettingState.isSdEnabled
> **isSdEnabled**: `boolean`
## Defined in
[src/parser/types/CommandEndpoints.ts:25](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L25)

View File

@@ -1,31 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ContinuationRequest
# Type Alias: ContinuationRequest
> **ContinuationRequest**: `object`
## Type declaration
### continuation?
> `optional` **continuation**: `string`
### fetchCommentsParams?
> `optional` **fetchCommentsParams**: `object`
### fetchCommentsParams.continuation
> **continuation**: `string`
### formData?
> `optional` **formData**: [`FormData`](FormData.md)
### notificationsMenuRequestType?
> `optional` **notificationsMenuRequestType**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:143](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L143)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / CpnSource
# Type Alias: CpnSource
> **CpnSource**: `"CPN_SOURCE_TYPE_CLIENT"` \| `"CPN_SOURCE_TYPE_WATCH_SERVER"`
## Defined in
[src/parser/types/RawResponse.ts:4](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L4)

View File

@@ -1,63 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / CreateCommentRequest
# Type Alias: CreateCommentRequest
> **CreateCommentRequest**: `object`
## Type declaration
### accessRestrictions?
> `optional` **accessRestrictions**: `object`
### accessRestrictions.restriction
> **restriction**: `"RESTRICTION_TYPE_EVERYONE"` \| `"RESTRICTION_TYPE_SPONSORS_ONLY"`
### botguardResponse?
> `optional` **botguardResponse**: `string`
### commentText?
> `optional` **commentText**: `string`
### createCommentParams?
> `optional` **createCommentParams**: `string`
### imageAttachment?
> `optional` **imageAttachment**: `object`
### imageAttachment.encryptedBlobId
> **encryptedBlobId**: `string`
### pollAttachment?
> `optional` **pollAttachment**: `object`
### pollAttachment.choices
> **choices**: `string`[]
### sharedPostAttachment?
> `optional` **sharedPostAttachment**: `object`
### sharedPostAttachment.postId
> **postId**: `string`
### videoAttachment?
> `optional` **videoAttachment**: `object`
### videoAttachment.videoId
> **videoId**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:179](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L179)

View File

@@ -1,35 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / CreatePlaylistServiceRequest
# Type Alias: CreatePlaylistServiceRequest
> **CreatePlaylistServiceRequest**: `object`
## Type declaration
### description?
> `optional` **description**: `string`
### params?
> `optional` **params**: `string`
### privacyStatus?
> `optional` **privacyStatus**: [`PlaylistPrivacyStatus`](PlaylistPrivacyStatus.md)
### sourcePlaylistId?
> `optional` **sourcePlaylistId**: `string`
### title?
> `optional` **title**: `string`
### videoIds?
> `optional` **videoIds**: `string`[]
## Defined in
[src/parser/types/CommandEndpoints.ts:104](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L104)

View File

@@ -1,15 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / DeletePlaylistServiceRequest
# Type Alias: DeletePlaylistServiceRequest
> **DeletePlaylistServiceRequest**: `object`
## Type declaration
### playlistId?
> `optional` **playlistId**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:113](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L113)

View File

@@ -1,15 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FeedbackContext
# Type Alias: FeedbackContext
> **FeedbackContext**: `object`
## Type declaration
### cpn
> **cpn**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:35](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L35)

View File

@@ -1,27 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FeedbackRequest
# Type Alias: FeedbackRequest
> **FeedbackRequest**: `object`
## Type declaration
### feedbackContext?
> `optional` **feedbackContext**: [`FeedbackContext`](FeedbackContext.md)
### feedbackTokens?
> `optional` **feedbackTokens**: `string`[]
### isFeedbackTokenUnencrypted?
> `optional` **isFeedbackTokenUnencrypted**: `boolean`
### shouldMerge?
> `optional` **shouldMerge**: `boolean`
## Defined in
[src/parser/types/CommandEndpoints.ts:39](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L39)

View File

@@ -1,31 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / FormData
# Type Alias: FormData
> **FormData**: `object`
## Type declaration
### accountSettingsFormData
> **accountSettingsFormData**: `object`
### accountSettingsFormData.flagAudioDescriptionDefaultOn
> **flagAudioDescriptionDefaultOn**: `boolean`
### accountSettingsFormData.flagAutoCaptionsDefaultOn
> **flagAutoCaptionsDefaultOn**: `boolean`
### accountSettingsFormData.flagCaptionsDefaultOff
> **flagCaptionsDefaultOff**: `boolean`
### accountSettingsFormData.flagDisableInlinePreview
> **flagDisableInlinePreview**: `boolean`
## Defined in
[src/parser/types/CommandEndpoints.ts:16](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L16)

View File

@@ -1,43 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / GetAccountsListInnertubeRequest
# Type Alias: GetAccountsListInnertubeRequest
> **GetAccountsListInnertubeRequest**: `object`
## Type declaration
### callCircumstance?
> `optional` **callCircumstance**: `"SUPPLEMENTAL_USER"` \| `"SWITCHING_USERS_FULL"`
### channelSwitcherQuery?
> `optional` **channelSwitcherQuery**: `string`
### contentOwnerConfig?
> `optional` **contentOwnerConfig**: `Record`\<`string`, `any`\>
### nextNavendpoint?
> `optional` **nextNavendpoint**: [`NextNavendpoint`](NextNavendpoint.md)
### obfuscatedSelectedGaiaId?
> `optional` **obfuscatedSelectedGaiaId**: `string`
### requestType?
> `optional` **requestType**: `string`
### selectedSerializedDelegationContext?
> `optional` **selectedSerializedDelegationContext**: `string`
### triggerChannelCreation?
> `optional` **triggerChannelCreation**: `boolean`
## Defined in
[src/parser/types/CommandEndpoints.ts:162](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L162)

View File

@@ -1,19 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / GetKidsBlocklistPickerRequest
# Type Alias: GetKidsBlocklistPickerRequest
> **GetKidsBlocklistPickerRequest**: `object`
## Type declaration
### blockedForKidsContent?
> `optional` **blockedForKidsContent**: `object`
### blockedForKidsContent.external\_channel\_id
> **external\_channel\_id**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:173](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L173)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../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:140](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L140)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetChallengeResponse
# Type Alias: IGetChallengeResponse
> **IGetChallengeResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"challenge"` \| `"bg_challenge"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:147](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L147)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetNotificationsMenuResponse
# Type Alias: IGetNotificationsMenuResponse
> **IGetNotificationsMenuResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:144](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L144)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGetTranscriptResponse
# Type Alias: IGetTranscriptResponse
> **IGetTranscriptResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:143](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L143)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IGuideResponse
# Type Alias: IGuideResponse
> **IGuideResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"items"` \| `"items_memo"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:146](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L146)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../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:139](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L139)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../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:138](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L138)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IResolveURLResponse
# Type Alias: IResolveURLResponse
> **IResolveURLResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"endpoint"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:142](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L142)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ISearchResponse
# Type Alias: ISearchResponse
> **ISearchResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"header"` \| `"header_memo"` \| `"contents"` \| `"contents_memo"` \| `"on_response_received_commands"` \| `"continuation_contents"` \| `"continuation_contents_memo"` \| `"refinements"` \| `"estimated_results"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:141](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L141)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / IUpdatedMetadataResponse
# Type Alias: IUpdatedMetadataResponse
> **IUpdatedMetadataResponse**: `Pick`\<[`IParsedResponse`](../interfaces/IParsedResponse.md), `"actions"` \| `"actions_memo"` \| `"continuation"`\>
## Defined in
[src/parser/types/ParsedResponse.ts:145](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/ParsedResponse.ts#L145)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../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/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L33)

View File

@@ -1,19 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LikeRequest
# Type Alias: LikeRequest
> **LikeRequest**: `object`
## Type declaration
### params?
> `optional` **params**: `string`
### target?
> `optional` **target**: [`LikeTarget`](LikeTarget.md)
## Defined in
[src/parser/types/CommandEndpoints.ts:50](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L50)

View File

@@ -1,15 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LikeTarget
# Type Alias: LikeTarget
> **LikeTarget**: `object`
## Type declaration
### videoId
> **videoId**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:46](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L46)

View File

@@ -1,15 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / LiveChatItemContextMenuRequest
# Type Alias: LiveChatItemContextMenuRequest
> **LiveChatItemContextMenuRequest**: `object`
## Type declaration
### params?
> `optional` **params**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:152](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L152)

View File

@@ -1,19 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ModifyChannelNotificationPreferenceRequest
# Type Alias: ModifyChannelNotificationPreferenceRequest
> **ModifyChannelNotificationPreferenceRequest**: `object`
## Type declaration
### params?
> `optional` **params**: `string`
### secondaryParams?
> `optional` **secondaryParams**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:194](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L194)

View File

@@ -1,19 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / NextNavendpoint
# Type Alias: NextNavendpoint
> **NextNavendpoint**: `object`
## Type declaration
### urlEndpoint
> **urlEndpoint**: `object`
### urlEndpoint.url
> **url**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:156](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L156)

View File

@@ -1,15 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PerformCommentActionRequest
# Type Alias: PerformCommentActionRequest
> **PerformCommentActionRequest**: `object`
## Type declaration
### actions?
> `optional` **actions**: `Record`\<`string`, `any`\>[]
## Defined in
[src/parser/types/CommandEndpoints.ts:190](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L190)

View File

@@ -1,23 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PlaylistEditRequest
# Type Alias: PlaylistEditRequest
> **PlaylistEditRequest**: `object`
## Type declaration
### actions?
> `optional` **actions**: `Record`\<`string`, `any`\>[]
### params?
> `optional` **params**: `string`
### playlistId?
> `optional` **playlistId**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:96](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L96)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / PlaylistPrivacyStatus
# Type Alias: PlaylistPrivacyStatus
> **PlaylistPrivacyStatus**: `"PUBLIC"` \| `"UNLISTED"` \| `"PRIVATE"`
## Defined in
[src/parser/types/CommandEndpoints.ts:102](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L102)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / RawData
# Type Alias: RawData
> **RawData**: [`RawNode`](RawNode.md) \| [`RawNode`](RawNode.md)[]
## Defined in
[src/parser/types/RawResponse.ts:2](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L2)

View File

@@ -1,9 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / RawNode
# Type Alias: RawNode
> **RawNode**: `Record`\<`string`, `any`\>
## Defined in
[src/parser/types/RawResponse.ts:1](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/RawResponse.ts#L1)

View File

@@ -1,43 +0,0 @@
[youtubei.js](../../../README.md) / [APIResponseTypes](../README.md) / ReelWatchRequest
# Type Alias: ReelWatchRequest
> **ReelWatchRequest**: `object`
## Type declaration
### disablePlayerResponse?
> `optional` **disablePlayerResponse**: `boolean`
### inputType?
> `optional` **inputType**: `string`
### params?
> `optional` **params**: `string`
### playerRequest?
> `optional` **playerRequest**: `object`
### playerRequest.contentCheckOk?
> `optional` **contentCheckOk**: `boolean`
### playerRequest.params?
> `optional` **params**: `string`
### playerRequest.racyCheckOk?
> `optional` **racyCheckOk**: `boolean`
### playerRequest.videoId
> **videoId**: `string`
## Defined in
[src/parser/types/CommandEndpoints.ts:84](https://github.com/LuanRT/YouTube.js/blob/e54e499ff553dab51e6d9d1aebc090b50fec29ba/src/parser/types/CommandEndpoints.ts#L84)

Some files were not shown because too many files have changed in this diff Show More