Unwrap a YAML node through optional block_node wrapper to get block_mapping. Returns null node if not a block_mapping.
| 105 | // Unwrap a YAML node through optional block_node wrapper to get block_mapping. |
| 106 | // Returns null node if not a block_mapping. |
| 107 | static TSNode unwrap_block_mapping(TSNode doc_child) { |
| 108 | TSNode mapping = ts_node_named_child(doc_child, 0); |
| 109 | if (ts_node_is_null(mapping)) { |
| 110 | return mapping; |
| 111 | } |
| 112 | if (strcmp(ts_node_type(mapping), "block_node") == 0) { |
| 113 | mapping = ts_node_named_child(mapping, 0); |
| 114 | } |
| 115 | if (ts_node_is_null(mapping) || strcmp(ts_node_type(mapping), "block_mapping") != 0) { |
| 116 | TSNode null_node = {0}; |
| 117 | return null_node; |
| 118 | } |
| 119 | return mapping; |
| 120 | } |
| 121 | |
| 122 | // Process a single block_mapping_pair for kustomize list keys. |
| 123 | static void process_kustomize_pair(CBMExtractCtx *ctx, TSNode pair) { |