0.1.0 • Published 4 years ago

@n3/prop-types-to-markdown v0.1.0

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
4 years ago

@n3/prop-types-to-markdown

Установка

yarn add @n3/prop-types-to-markdown --dev

Использование

Код компонента:

// src/Example.jsx

import React from 'react';
import PropTypes from 'prop-types';

const Example = () => <div />;

Example.propTypes = {
  /**
   * Необязательная строка
   */
  simpleString: PropTypes.string,
  /**
   * Обязательная строка
   */
  requiredString: PropTypes.string.isRequired,
  /**
   * Число
   */
  number: PropTypes.number.isRequired,
  /**
   * Функция
   * @param {number} value - аргумент-число
   * @param {string} description - аргумент-строка
   */
  function: PropTypes.func,
  /**
   * Объект с заданными ключами
   */
  shape: PropTypes.shape({
    id: PropTypes.number.isRequired,
    name: PropTypes.string.isRequired,
  }),
  /**
   * Словарь
   */
  dictionary: PropTypes.objectOf(PropTypes.shape({
    id: PropTypes.number.isRequired,
    name: PropTypes.string.isRequired,
  })),
  /**
   * Массив
   */
  array: PropTypes.arrayOf(PropTypes.shape({
    id: PropTypes.number.isRequired,
    name: PropTypes.string.isRequired,
  })),
  /**
   * Одно из значений
   */
  color: PropTypes.oneOf([
    'red',
    'green',
    'blue',
  ]).isRequired,
};

Example.defaultProps = {
  simpleString: 'Hello',
  function: () => null,
  shape: null,
  dictionary: {},
  array: [],
};

export default Example;

Команда:

./node_modules/bin/pt2md src/Example.jsx

Результат (будет выведен в консоль):

НазваниеОбязательностьТипЗначение по умолчаниюОписание
simpleStringstring'Hello'Необязательная строка
requiredString+stringОбязательная строка
number+numberЧисло
functionfunc() => nullФункция@param {number} value - аргумент-число@param {string} description - аргумент-строка
shapeshape {- id  number- name  string}nullОбъект с заданными ключами
dictionaryobjectOf {  shape {  - id    number  - name    string  }}{}Словарь
arrayarrayOf   shape {  - id    number  - name    string  }[]Массив
color+enum- 'red'- 'green'- 'blue'Одно из значений
0.1.0

4 years ago