Skip to content

Commit 300ba8f

Browse files
committed
build: update API generator
1 parent 88f7a4c commit 300ba8f

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

build/api.js

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,18 @@ const options = {
2020
savePropValueAsString: true,
2121
}
2222

23-
async function createMdx(filename, name, props) {
23+
async function createMdx(file, filename, name, props) {
2424
if (typeof props === 'undefined') return
2525

26-
let content = `| Property | Description | Type | Default |\n`
26+
let content = `
27+
\`\`\`jsx
28+
import { ${name} } from '@coreui/react'
29+
// or
30+
import ${name} from '@coreui/react/${file.replace('.tsx', '')}'
31+
\`\`\`\n
32+
`
33+
34+
content += `| Property | Description | Type | Default |\n`
2735
content += `| --- | --- | --- | --- |\n`
2836

2937
for (const [key, value] of Object.entries(props).sort()) {
@@ -34,13 +42,22 @@ async function createMdx(filename, name, props) {
3442
const name = value.name || ''
3543
const description =
3644
value.description.replaceAll('\n', '<br/>').replaceAll(' [docs]', '') || '-'
37-
const type =
38-
value.type ? value.type.name.includes('ReactElement')
45+
const type = value.type
46+
? value.type.name.includes('ReactElement')
3947
? 'ReactElement'
40-
: value.type.name : ''
41-
const defaultValue = value.defaultValue ? value.defaultValue.value : '-'
48+
: value.type.name
49+
: ''
50+
const defaultValue = value.defaultValue
51+
? value.defaultValue.value.replace('undefined', '-')
52+
: '-'
53+
const types = []
54+
type.split(' | ').map((element) => {
55+
types.push(`\`${element.replace(/"/g, "'")}\``)
56+
})
4257

43-
content += `| **${name}** | ${description} | \`${type}\` | ${defaultValue} |\n`
58+
// content += `| **${name}** | ${description} | \`${type
59+
// .replace(/"/g, "'")\` | ${defaultValue} |\n`
60+
content += `| **${name}** | ${description} | ${types.join(' \\| ')} | ${defaultValue} |\n`
4461
console.log(`${filename} - ${key}`)
4562
}
4663
}
@@ -63,7 +80,7 @@ async function main() {
6380
const props = docgen.parse(file, options)
6481
if (props && typeof props[0] !== 'undefined') {
6582
const filename = path.basename(file, '.tsx')
66-
createMdx(filename, props[0].displayName, props[0].props)
83+
createMdx(file, filename, props[0].displayName, props[0].props)
6784
}
6885
}),
6986
)

0 commit comments

Comments
 (0)