Stay organized with collections
Save and categorize content based on your preferences.
blockly > LineCursor > getPreviousNode
LineCursor.getPreviousNode() method
Get the previous node in the AST, optionally allowing for loopback.
Signature:
getPreviousNode(node: IFocusableNode | null, isValid: (p1: IFocusableNode | null) => boolean, loop: boolean): IFocusableNode | null;
Parameters
Parameter |
Type |
Description |
node |
IFocusableNode | null |
The current position in the AST. |
isValid |
(p1: IFocusableNode | null) => boolean |
A function true/false depending on whether the given node should be traversed. |
loop |
boolean |
Whether to loop around to the end of the workspace if no valid node was found. |
Returns:
IFocusableNode | null
The previous node in the traversal or null if no previous node exists.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-16 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-16 UTC."],[],[],null,["[blockly](./blockly.md) \\\u003e [LineCursor](./blockly.linecursor_class.md) \\\u003e [getPreviousNode](./blockly.linecursor_class.getpreviousnode_1_method.md)\n\nLineCursor.getPreviousNode() method\n-----------------------------------\n\nGet the previous node in the AST, optionally allowing for loopback.\n\n**Signature:** \n\n getPreviousNode(node: IFocusableNode | null, isValid: (p1: IFocusableNode | null) =\u003e boolean, loop: boolean): IFocusableNode | null;\n\nParameters\n----------\n\n| Parameter | Type | Description |\n|-----------|-----------------------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| node | [IFocusableNode](./blockly.ifocusablenode_interface.md) \\| null | The current position in the AST. |\n| isValid | (p1: [IFocusableNode](./blockly.ifocusablenode_interface.md) \\| null) =\\\u003e boolean | A function true/false depending on whether the given node should be traversed. |\n| loop | boolean | Whether to loop around to the end of the workspace if no valid node was found. |\n\n**Returns:**\n\n[IFocusableNode](./blockly.ifocusablenode_interface.md) \\| null\n\nThe previous node in the traversal or null if no previous node exists."]]