mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-28 09:06:51 +00:00
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
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/CompactMix.ts:7](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/CompactMix.ts#L7)
|
||||
[src/parser/classes/CompactMix.ts:7](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/CompactMix.ts#L7)
|
||||
|
||||
## Properties
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:15](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L15)
|
||||
[src/parser/classes/Playlist.ts:15](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L15)
|
||||
|
||||
***
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:23](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L23)
|
||||
[src/parser/classes/Playlist.ts:23](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L23)
|
||||
|
||||
***
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:24](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L24)
|
||||
[src/parser/classes/Playlist.ts:24](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L24)
|
||||
|
||||
***
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:20](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L20)
|
||||
[src/parser/classes/Playlist.ts:20](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L20)
|
||||
|
||||
***
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:13](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L13)
|
||||
[src/parser/classes/Playlist.ts:13](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L13)
|
||||
|
||||
***
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:22](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L22)
|
||||
[src/parser/classes/Playlist.ts:22](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L22)
|
||||
|
||||
***
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:21](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L21)
|
||||
[src/parser/classes/Playlist.ts:21](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L21)
|
||||
|
||||
***
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:25](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L25)
|
||||
[src/parser/classes/Playlist.ts:25](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L25)
|
||||
|
||||
***
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:17](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L17)
|
||||
[src/parser/classes/Playlist.ts:17](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L17)
|
||||
|
||||
***
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:16](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L16)
|
||||
[src/parser/classes/Playlist.ts:16](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L16)
|
||||
|
||||
***
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:14](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L14)
|
||||
[src/parser/classes/Playlist.ts:14](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L14)
|
||||
|
||||
***
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/helpers.ts#L8)
|
||||
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/helpers.ts#L8)
|
||||
|
||||
***
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:18](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L18)
|
||||
[src/parser/classes/Playlist.ts:18](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L18)
|
||||
|
||||
***
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:19](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L19)
|
||||
[src/parser/classes/Playlist.ts:19](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/Playlist.ts:26](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/Playlist.ts#L26)
|
||||
[src/parser/classes/Playlist.ts:26](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/Playlist.ts#L26)
|
||||
|
||||
***
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/classes/CompactMix.ts:5](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/classes/CompactMix.ts#L5)
|
||||
[src/parser/classes/CompactMix.ts:5](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/classes/CompactMix.ts#L5)
|
||||
|
||||
## Methods
|
||||
|
||||
@@ -288,7 +288,7 @@ If the node is not of the given type
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/helpers.ts#L29)
|
||||
[src/parser/helpers.ts:29](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/helpers.ts#L29)
|
||||
|
||||
***
|
||||
|
||||
@@ -322,7 +322,7 @@ Whether the node has the key
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/helpers.ts#L41)
|
||||
[src/parser/helpers.ts:41](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/helpers.ts#L41)
|
||||
|
||||
***
|
||||
|
||||
@@ -356,7 +356,7 @@ whether the node is of the given type
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/helpers.ts#L19)
|
||||
[src/parser/helpers.ts:19](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/helpers.ts#L19)
|
||||
|
||||
***
|
||||
|
||||
@@ -394,4 +394,4 @@ If the node does not have the key
|
||||
|
||||
#### Defined in
|
||||
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/4ae0cc5c523a2080e68d6c0c1437c78fe318ea30/src/parser/helpers.ts#L51)
|
||||
[src/parser/helpers.ts:51](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/parser/helpers.ts#L51)
|
||||
|
||||
Reference in New Issue
Block a user