Skip to content

Commit c746064

Browse files
committed
🏷️ Export additional component types
1 parent b71f2e3 commit c746064

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

scripts/additionalTypes.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const additionalTypes = {
2+
DataTable: [
3+
'DataTableEventType',
4+
'HeadingObject'
5+
],
6+
List: ['ListEventType'],
7+
Pagination: ['PaginationEventType'],
8+
Select: ['SelectEventType']
9+
}
10+
11+
export const getAdditionalTypeImports = () => {
12+
return Object.entries(additionalTypes).map(([key, values]) => {
13+
return `import type { ${values.map(value => `${value} as W${value}`).join(', ')} } from './components/${key}/${key.toLowerCase()}.ts'`
14+
}).join('\n')
15+
}
16+
17+
export const getAdditionalTypeExports = () => {
18+
return Object
19+
.values(additionalTypes)
20+
.flat()
21+
.map(type => `export type ${type} = W${type}`).join('\n\t')
22+
}

scripts/buildTypes.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { getAdditionalTypeExports, getAdditionalTypeImports } from './additionalTypes.js'
12
import { utilityTypes } from './utilityTypes.js'
23

34
import fs from 'fs'
@@ -13,6 +14,8 @@ const buildTypes = type => {
1314
return `import type { ${component}Props as W${component}Props } from './components/${component}/${component.toLowerCase()}'`
1415
}).join('\n')}
1516
17+
${getAdditionalTypeImports()}
18+
1619
declare module 'webcoreui/${type}' {
1720
${components.map(component => {
1821
return `export function ${component}(_props: W${component}Props): any`
@@ -21,6 +24,8 @@ const buildTypes = type => {
2124
${components.map(component => {
2225
return `export type ${component}Props = W${component}Props`
2326
}).join('\n\t')}
27+
28+
${getAdditionalTypeExports()}
2429
}
2530
`)
2631
}
@@ -55,6 +60,8 @@ const buildTypes = type => {
5560
return `import type { ${getTypeName(component)} as W${getTypeName(component)} } from './components/${component}/${component.toLowerCase()}'`
5661
}).join('\n')}
5762
63+
${getAdditionalTypeImports()}
64+
5865
declare module 'webcoreui/${type}' {
5966
${components.map(component => {
6067
return `export class ${component} extends SvelteComponent<W${getTypeName(component)}> {}`
@@ -63,6 +70,8 @@ const buildTypes = type => {
6370
${components.map(component => {
6471
return `export type ${component}Props = W${getTypeName(component)}`
6572
}).join('\n\t')}
73+
74+
${getAdditionalTypeExports()}
6675
}
6776
`)
6877
}
@@ -93,6 +102,8 @@ const buildTypes = type => {
93102
return `import type { ${getTypeName(component)} as W${getTypeName(component)} } from './components/${component}/${component.toLowerCase()}'`
94103
}).join('\n')}
95104
105+
${getAdditionalTypeImports()}
106+
96107
declare module 'webcoreui/${type}' {
97108
${components.map(component => {
98109
return `export const ${component}: FC<W${getTypeName(component)}>`
@@ -101,6 +112,8 @@ const buildTypes = type => {
101112
${components.map(component => {
102113
return `export type ${component}Props = W${getTypeName(component)}`
103114
}).join('\n\t')}
115+
116+
${getAdditionalTypeExports()}
104117
}
105118
`)
106119
}

0 commit comments

Comments
 (0)