HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/node_modules/tailwindcss/scripts/type-utils.js
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`
}