All files / src/components Args.jsx

92.31% Statements 12/13
100% Branches 0/0
66.67% Functions 2/3
92.31% Lines 12/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251x 1x   1x 1x 1x                 5839x 5839x 5839x 5839x 12204x 12204x   5839x      
import React, {Component} from 'react';
import PropTypes from 'prop-types/prop-types';
 
import {ASTNode} from '../ast';
import {DropTarget} from './DropTarget';
import {span} from '../types';
 
export default class Args extends Component {
  static propTypes = {
    field: PropTypes.string.isRequired,
    children: PropTypes.arrayOf(PropTypes.instanceOf(ASTNode)).isRequired,
  }
 
  render() {
    let {children} = this.props;
    const elems = [];
    elems.push(<DropTarget key={'drop-0'} field={this.props.field}/>);
    children.forEach((child, index) => {
      elems.push(child.reactElement({key : 'node' + index}));
      elems.push(<DropTarget key={'drop-' + (index+1)} field={this.props.field}/>);
    });
    return elems;
  }
}