mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
* Add more explicit types for the default theme * Update changelog * Cleanup * Cleanup code a bit * Add special cases for a few keys * Fix order
28 lines
551 B
JavaScript
28 lines
551 B
JavaScript
export function union(types) {
|
|
return [...new Set(types)].join(' | ')
|
|
}
|
|
|
|
export function unionValues(values) {
|
|
return union(values.map(forValue))
|
|
}
|
|
|
|
export function forKeys(value) {
|
|
return union(Object.keys(value).map((key) => `'${key}'`))
|
|
}
|
|
|
|
export function forValue(value) {
|
|
if (Array.isArray(value)) {
|
|
return `(${unionValues(value)})[]`
|
|
}
|
|
|
|
if (typeof value === 'object') {
|
|
return `Record<${forKeys(value)}, ${unionValues(Object.values(value))}>`
|
|
}
|
|
|
|
if (typeof value === 'string') {
|
|
return `string`
|
|
}
|
|
|
|
return `any`
|
|
}
|