Select-JavaScriptAstNode

August 3, 2026 ยท View on GitHub

SYNOPSIS

Returns descendant nodes from an Acornima JavaScript AST or JavaScript source.

SYNTAX

Source (Default)

Select-JavaScriptAstNode [-Source] <string> [-Type <string[]>] [-IncludeRoot] [-FilterScript <scriptblock>] [-Module] [-Tolerant] [-PreserveParens] [<CommonParameters>]

Ast

Select-JavaScriptAstNode [-Ast] <Node> [-Type <string[]>] [-IncludeRoot] [-FilterScript <scriptblock>] [<CommonParameters>]

DESCRIPTION

Returns descendant nodes from an Acornima JavaScript AST or JavaScript source.

EXAMPLES

EXAMPLE 1

ConvertFrom-JavaScriptAst -Content 'const value = 42;' | Select-JavaScriptAstNode -Type VariableDeclaration

EXAMPLE 2

$script = @'
const settings = {
    apiKey: "abc",
    enabled: true
};
'@

Select-JavaScriptAstNode -Source $script -Type Script,ObjectExpression -IncludeRoot

EXAMPLE 3

$module = @'
import value from "./settings.js";
export const settings = {
    enabled: true
};
'@

Select-JavaScriptAstNode -Source $module -Module -Type ImportDeclaration,ExportNamedDeclaration

PARAMETERS

-Ast

Acornima AST node to inspect.

Type: Node
Parameter Sets: Ast
Aliases: InputObject, Node
Possible values:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-FilterScript

Optional PowerShell predicate used to filter each matched AST node. The node is passed as the first scriptblock argument.

Type: ScriptBlock
Parameter Sets: Source, Ast
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-IncludeRoot

Includes the root node in the traversal output.

Type: SwitchParameter
Parameter Sets: Source, Ast
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Module

Parses source input as an ECMAScript module.

Type: SwitchParameter
Parameter Sets: Source
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-PreserveParens

Preserves parenthesized expression nodes for source input.

Type: SwitchParameter
Parameter Sets: Source
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Source

JavaScript content to parse and inspect.

Type: String
Parameter Sets: Source
Aliases: Content
Possible values:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Tolerant

Enables Acornima tolerant parsing for source input.

Type: SwitchParameter
Parameter Sets: Source
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Type

Node type names to return, such as VariableDeclaration, ObjectExpression, or ClassBody.

Type: String[]
Parameter Sets: Source, Ast
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

  • System.String
  • Acornima.Ast.Node

OUTPUTS

  • Acornima.Ast.Node
  • None