Skip to content

Commit 433a574

Browse files
committed
chore: fix VSCode hints generator
1 parent 5fa9531 commit 433a574

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

build/buildVscodeHints.js

+15-7
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,23 @@ const classes = getTypesClasses(types)
55
function getTypesClasses (types) {
66
let classes = {}
77
const rawClasses = types.replace(/(\n|\r)/ig, '')
8-
.match(/(export declare|declare class).*?(})/g)
8+
.split('declare')
9+
.filter(rawClass => rawClass.includes('class'))
10+
911
rawClasses.forEach(rawClass => {
10-
const name = rawClass.match(/(?<=class\s+).*?(?=\s+extends)/gs)[0]
12+
const name = rawClass.match(/(?<=class\s+).*?(?=\s+)/gs)[0]
13+
14+
const propsRaw = rawClass
15+
.substring(rawClass.indexOf('{') + 1, rawClass.lastIndexOf('}'))
16+
.replace(/{(()([^}]))+}/ig, 'custom')
17+
1118

12-
const propsRaw = rawClass.substring(rawClass.indexOf('{') + 1, rawClass.indexOf('}'))
1319
let props = propsRaw.match(/([a-zA-Z?]+:).*?(?=[a-zA-Z?]+:|$)/g)
14-
if (props) {
15-
props = props.map(prop => prop.trim())
16-
}
1720

21+
if (props) {
22+
props = props.map(prop => prop.trim().replace('?', ''))
23+
}
24+
1825
classes[name] = {
1926
isExported: rawClass.includes('export'),
2027
extend: rawClass.match(/(?<=extends\s+).*?(?=\s+{)/gs)[0],
@@ -24,7 +31,8 @@ function getTypesClasses (types) {
2431
Object.entries(classes).forEach(([key, value]) => {
2532
if (value.extend !== 'Vue') {
2633
const props = classes[key].props || []
27-
classes[key].props = [...props, ...(classes[value.extend].props)]
34+
const extend = classes[value.extend].props || []
35+
classes[key].props = [...props, ...extend]
2836
}
2937
})
3038
return classes

0 commit comments

Comments
 (0)