navigateNode function
Implementation
Node navigateNode(Node astNode, String path) {
Node node;
if (astNode is ObjectNode) {
final objectNode = astNode;
final propertyNode = objectNode.children.firstWhere((final prop) {
return prop.key.value == path;
}, orElse: () {
return null;
});
if (propertyNode != null) {
node = propertyNode.value;
}
}
if (astNode is ArrayNode) {
final arrayNode = astNode;
final index = int.tryParse(path);
if (index != null && arrayNode.children.length > index) {
node = arrayNode.children[index];
}
}
return node;
}