Nosy Pinocchio Manners

    parse-prop-types

    0.3.0 • Public • Published

    parse-prop-types

    Generated with nod NPM version Build Status Coverage Status

    Parses React prop-types into a readable object at runtime.

    Install

    $ npm install --save parse-prop-types
    

    Usage

    import React from 'react'
    import PropTypes from 'prop-types'
    import parsePropTypes from 'parse-prop-types'
     
    const MyComponent = ({ name, show }) => (
      show ? <div>{name}</div> : null
    )
     
    MyComponent.propTypes = {
      name: PropTypes.string,
      show: PropTypes.oneOfType([PropTypes.bool, propTypes.string]).isRequired,
    }
     
    MyComponent.defaultProps = {
      name: 'Haz',
    }
     
    parsePropTypes(MyComponent)

    The returned object is compatible with react-docgen:

    {
      name: {
        type: {
          name: 'string',
        },
        required: false,
        defaultValue: {
          value: 'Haz',
        },
      },
      show: {
        type: {
          name: 'oneOfType',
          value: [
            { name: 'bool' },
            { name: 'string' },
          ],
        },
        required: true,
      },
    }

    Why not react-docgen?

    react-docgen reads file contents in order to find prop types definitions. It has some limitations, such as not allowing computed prop types and, in several situations, not being able to parse file contents correctly.

    parse-prop-types, on the other hand, doesn't deal with file contents. Instead, it parses prop types at runtime by receiving the component object itself.

    API

    Table of Contents

    parsePropTypes

    Parameters

    • $0 any
      • $0.propTypes (optional, default {})
      • $0.defaultProps (optional, default {})

    Returns Object

    License

    MIT © Diego Haz

    Install

    npm i parse-prop-types

    DownloadsWeekly Downloads

    28,995

    Version

    0.3.0

    License

    MIT

    Unpacked Size

    9.52 kB

    Total Files

    6

    Last publish

    Collaborators

    • diegohaz