BeyondCodeBootcamp / BeyondCodeBootcamp/jswithtypes.com

feature: /json-to-jsdoc

未关闭
#1 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
good first issue hacktoberfest
主要语言
JavaScript
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

描述

# The Big Idea

I'd like to host a standalone online tool like https://transform.tools/json-to-jsdoc, but that will break down intermediary types, and also handle enums.

- [ ] JavaScript conversion function (no frameworks or libraries)
- `JSON.stringify(input, null, 2)` to prettify JSON
- Traverses JSON to produce JSDoc
- Checkbox for "treat arrays as enums"
- Order types alphabetically
- "" is type `String`
- "a|b|c" creates a typedef `MyTypeStatusEnum` ?
- [ ] HTML Textareas
- CSS with variables (see MVP.css)

## Example Output: JSON

```js
/** @typedef {object} json
* @property {object} about
* @property {string} about.legalBusinessName
* @property {string} about.website
* @property {string} about.industry
* @property {string} about.countryOfOperation
* @property {string} about.description
* @property {string} about.operations
*/
```

should instead be

```js
/**
* @typedef MyType
* @prop {MyTypeAbout} about
*/

/**
* @typedef MyTypeAbout
* @prop {String} legalBusinessName
* @prop {String} website
* @prop {String} industry
* @prop {String} countryOfOperation
* @prop {String} description
* @prop {String} operations
*/
```

## Example Output: Enums

Maybe any props that are all caps and assigned an array could be considered enums?

```js
/**
* @typedef {"IsPep"|"IsNotPep"} PepOption
*/
Mercury.POLITICALLY_EXPOSED_OPTIONS = ["IsPep", "IsNotPep"];
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

未指定文件、测试或入口点。首先定位独立工具的 JavaScript 转换代码和 HTML textarea UI,然后将实现与所请求的中间类型、enum 处理、字母顺序以及 CSS 变量进行比较;完成的标准是列出的 JSON 和 enum 示例能够生成预期的 JSDoc 输出。

由索引模型根据 Issue 内容生成。

评估

技术栈
css, html, javascript
领域
frontend
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。