parseNode multiplexes to the appropriate parse function based on the node kind.
(ctx context.Context, node *Node)
| 33 | |
| 34 | // parseNode multiplexes to the appropriate parse function based on the node kind. |
| 35 | func (p *Parser) parseNode(ctx context.Context, node *Node) error { |
| 36 | switch node.Kind { |
| 37 | case ResourceKindSource: |
| 38 | return p.parseSource(ctx, node) |
| 39 | case ResourceKindModel: |
| 40 | return p.parseModel(ctx, node) |
| 41 | case ResourceKindMetricsView: |
| 42 | return p.parseMetricsView(node) |
| 43 | case ResourceKindExplore: |
| 44 | return p.parseExplore(node) |
| 45 | case ResourceKindMigration: |
| 46 | return p.parseMigration(node) |
| 47 | case ResourceKindReport: |
| 48 | return p.parseReport(node) |
| 49 | case ResourceKindAlert: |
| 50 | return p.parseAlert(node) |
| 51 | case ResourceKindTheme: |
| 52 | return p.parseTheme(node) |
| 53 | case ResourceKindComponent: |
| 54 | return p.parseComponent(node) |
| 55 | case ResourceKindCanvas: |
| 56 | return p.parseCanvas(node) |
| 57 | case ResourceKindAPI: |
| 58 | return p.parseAPI(node) |
| 59 | case ResourceKindConnector: |
| 60 | return p.parseConnector(node) |
| 61 | default: |
| 62 | panic(fmt.Errorf("unexpected resource type: %s", node.Kind.String())) |
| 63 | } |
| 64 | } |
| 65 | |
| 66 | // commonYAML parses YAML fields common to all YAML files. |
| 67 | type commonYAML struct { |
no test coverage detected