all files / modules/ IndexRedirect.js

100% Statements 54/54
100% Branches 32/32
100% Functions 10/10
100% Lines 6/6
8 statements, 3 functions, 18 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46                                                                                 
import warning from 'warning'
import invariant from 'invariant'
import React, { Component } from 'react'
import Redirect from './Redirect'
import { falsy } from './PropTypes'
 
const { string, object } = React.PropTypes
 
/**
 * An <IndexRedirect> is used to redirect from an indexRoute.
 */
class IndexRedirect extends Component {
 
  static createRouteFromReactElement(element, parentRoute) {
    /* istanbul ignore else: sanity check */
    Eif (parentRoute) {
      parentRoute.indexRoute = Redirect.createRouteFromReactElement(element)
    } else {
      warning(
        false,
        'An <IndexRedirect> does not make sense at the root of your route config'
      )
    }
  }
 
  static propTypes = {
    to: string.isRequired,
    query: object,
    state: object,
    onEnter: falsy,
    children: falsy
  }
 
  /* istanbul ignore next: sanity check */
  render() {
    invariant(
      false,
      '<IndexRedirect> elements are for router configuration only and should not be rendered'
    )
  }
 
}
 
export default IndexRedirect