Better TS enum support
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- react, typescript
- 领域
- documentation, tooling
调研方向
该 issue 未列出文件、测试或入口点。复现报告中的 enum 和 union 示例,然后定位生成所示 tsType 对象的 TypeScript 分析路径。当 enum 成员保留与 union 输出相当的结构化信息,且相关的现有 checks 通过时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Reporting from https://github.com/storybookjs/storybook/pull/24165
Currently TS enums analysis is lossy:
enum ButtonType {
Button = 'button',
Reset = 'reset',
Submit = 'submit',
}
type ButtonTestProps = {
type?: ButtonType;
};
export const ButtonTest = (props: ButtonTestProps) => {
return <button {...props}>Test</button>;
};
Produces:
"tsType": {
"name": "ButtonType"
},
Compare this to a union:
type ButtonType = "button" | "reset" | "submit";
Which produces:
"tsType": {
"name": "union",
"raw": "\"button\" | \"reset\" | \"submit\"",
"elements": [
{
"name": "literal",
"value": "\"button\""
},
{
"name": "literal",
"value": "\"reset\""
},
{
"name": "literal",
"value": "\"submit\""
}
]
},
It would be fantastic if react-docgen could produce something similar for enums!
- 主要语言
- TypeScript
- 星标
- 3.8k
- 派生
- 316
- 平均合并
- 2 小时 29 分钟
- 30 天内合并 PR
- 5
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
reactjs/react-docgen 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
reactjs/react-docgen#1102 ·
-
难度 5/5 一周以上 新手友好度 20/100
reactjs/react-docgen#1005 · 4 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 48/100
reactjs/react-docgen#997 ·
-
难度 3/5 1-2 天 新手友好度 42/100
reactjs/react-docgen#994 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
reactjs/react-docgen#982 · 2 条评论 ·
查看 reactjs/react-docgen 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
openedx/frontend-app-authoring#3274 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
-
area/documentation status/need-triage
难度 1/5 1 小时以内 新手友好度 95/100
google-gemini/gemini-cli#29548 ·
维护者通常 1 天内回复
-
sdk-typescript vector-store
难度 2/5 半天 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复