mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-18 12:02:11 +00:00
* 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
41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
[youtubei.js](../../../README.md) / [JsHelpers](../README.md) / createWrapperFunction
|
|
|
|
# Function: createWrapperFunction()
|
|
|
|
> **createWrapperFunction**(`analyzer`, `name`, `node`): `string` \| `undefined`
|
|
|
|
Analyzes an AST node to determine if it's a function call or a function
|
|
declaration. Based on that, it then creates a new JavaScript function as
|
|
a string. This new function acts as a wrapper, taking a single 'input'
|
|
argument and forwarding it to the original function call.
|
|
|
|
Currently can handle:
|
|
- `CallExpression`: Creates a wrapper that invokes the function being called in the expression.
|
|
- `VariableDeclarator` with a `FunctionExpression`: Creates a wrapper that calls the declared function.
|
|
|
|
## Parameters
|
|
|
|
• **analyzer**: [`JsAnalyzer`](../../Types/classes/JsAnalyzer.md)
|
|
|
|
The `JSAnalyzer` instance, used to resolve context like declared variables.
|
|
|
|
• **name**: `string`
|
|
|
|
The name for the new wrapper function to be created.
|
|
|
|
• **node**: `Node`
|
|
|
|
The ESTree node.
|
|
|
|
## Returns
|
|
|
|
`string` \| `undefined`
|
|
|
|
## Todo
|
|
|
|
Look for edge cases.
|
|
|
|
## Defined in
|
|
|
|
[src/utils/javascript/helpers.ts:223](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/utils/javascript/helpers.ts#L223)
|