* Provides a fallback initializer string based on the type of the initializer node. * @TODO: Check more cases. * @param init - The initializer expression to evaluate.
(init?: ESTree.Expression | null)
| 226 | * @param init - The initializer expression to evaluate. |
| 227 | */ |
| 228 | private getInitializerFallback(init?: ESTree.Expression | null): string { |
| 229 | switch (init?.type) { |
| 230 | case 'ObjectExpression': |
| 231 | case 'NewExpression': |
| 232 | case 'MemberExpression': |
| 233 | case 'LogicalExpression': |
| 234 | return '{}'; |
| 235 | case 'ArrayExpression': |
| 236 | return '[]'; |
| 237 | default: |
| 238 | return 'undefined'; |
| 239 | } |
| 240 | } |
| 241 | |
| 242 | /** |
| 243 | * Renders an AST node to JavaScript source code, with special handling for variable declarators. |