@tealina/doc-types
Version:
API document type designed for transformation tools
72 lines (54 loc) • 1.41 kB
Markdown
API document type designed for transformation tools
#### Pre-knowledge
> There's a package call [tealina](https://www.npmjs.com/package/tealina), it offer some CLI commands make create API service more easier, one of the command is `tealina gdoc`, it generate a `doc.json` file.
### Install
> Should be add as dependencies, not devDependencies, because the DocKind is exported as const object
```bash
pnpm add /doc-types
yarn add /doc-types
bun add /doc-types
npm i /doc-types
```
### Demo
<!-- prettier-ignore-start -->
```json
//doc.json
{
"apis": {
"get": { // http method
"health": { // endpoind
"response": {// DocNode
"kind": 4, // DocKind
"id": 268
},
}
}
},
"entityRefs": {
"268": {
"name": "{ status: string; }",
"props": [
{
"kind": 0,// DocKind
"type": "string",
"name": "status"
}
]
}
}
}
```
<!-- prettier-ignore-end -->
#### Every `DocNode` has a `kind` property, it's easy to code with switch case.
```tsx
import { DocNode, DocKind, EntityRef } from '/doc-types'
function tranform2span(docNode:DocNode){
switch(docNode.kind){
case DocKind.Primitive:
return <span>{docNode.type}</span>
...
}
}
```
### Convention
The name of your package should have a clear name with tealina-doc prefix.