Skip to content

Latest commit

 

History

History
68 lines (61 loc) · 1.68 KB

File metadata and controls

68 lines (61 loc) · 1.68 KB

prop-types

This rule ensures PropTypes are valid given the API provided by ember-prop-types.

Valid

import Ember from 'ember'
const {Component} = Ember
import PropTypeMixin, {PropTypes} from 'ember-prop-types'

export default Component.extend(PropTypeMixin, {
  propTypes: {
    alpha: PropTypes.any,
    bravo: PropTypes.array,
    charlie: PropTypes.arrayOf(PropTypes.string),
    delta: PropTypes.bool,
    echo: PropTypes.date,
    foxtrot: PropTypes.element,
    golf: PropTypes.EmberObject,
    hotel: PropTypes.func,
    india: PropTypes.instanceOf(HTMLElement),
    juliett: PropTypes.null,
    kilo: PropTypes.number,
    lima: PropTypes.object,
    mike: PropTypes.oneOf(['foo', 'bar']),
    november: PropTypes.oneOfType([
      PropTypes.null,
      PropTypes.string
    ]),
    oscar: PropTypes.shape({
      foo: PropTypes.string
    }),
    papa: PropTypes.string,
    quebec: PropTypes.symbol
  }
})

Invalid

import Ember from 'ember'
const {Component} = Ember
import PropTypeMixin, {PropTypes} from 'ember-prop-types'

export default Component.extend(PropTypeMixin, {
  propTypes: {
    alpha: PropTypes.any(),
    bravo: PropTypes.array(),
    charlie: PropTypes.arrayOf,
    delta: PropTypes.bool(),
    echo: PropTypes.date(),
    foxtrot: PropTypes.element(),
    golf: PropTypes.EmberObject(),
    hotel: PropTypes.func(),
    india: PropTypes.instanceOf,
    juliett: PropTypes.null(),
    kilo: PropTypes.number(),
    lima: PropTypes.object(),
    mike: PropTypes.oneOf,
    november: PropTypes.oneOfType,
    oscar: PropTypes.shape,
    papa: PropTypes.string(),
    quebec: PropTypes.symbol()
  }
})