Я использую TypeDo c для документирования моего кода TypeScript так:
/**
* @param timestampValue Date in timestamp format
*/
const getDaysInTimestamp = (timestampValue: number): number => {
return Math.round(timestampValue / 1000)
}
Проблема в том, что я использую такие функциональные компоненты React:
interface Props {
useLocalStorage?: boolean
useCookies?: boolean
}
const Application: React.FunctionComponent<Props> = (props) => {
return (
<>
...
</>
)
}
Так что вы можете использовать его следующим образом:
<Application useLocalStorage useCookies >
...
</Application>
Но с этой структурой я не могу подробно описать props
из Application
. Лучшее, что я могу сделать, это:
/**
* @param props Props from Application component
*/
const Application: React.FunctionComponent<Props> = (props) => {
...
Я пытался использовать этот тип записи, но он не поддерживается:
/**
* @param props.useLocalStorage Enable the component to store some data in the localStorage
* @param props.useCookies Enable the component to store and read cookies
*/
const Application: React.FunctionComponent<Props> = (props) => {
...
Так что мой последний шанс - напрямую документировать интерфейс. Мой вопрос: есть ли способ написать TypeDo c для каждого атрибута интерфейса? Может быть, что-то похожее на это:
/**
* @param useLocalStorage Enable the component to store some data in the localStorage
* @param useCookies Enable the component to store and read cookies
*/
interface Props {
useLocalStorage?: boolean
useCookies?: boolean
}
Вы хоть представляете, как это можно реализовать?