override.ts 464 Bytes

import { ConfigType } from "../index.d"
import { matchExternalPrefixReg } from "./useWidgetKey"


export const createComponent = async (configType: ConfigType) => {
  const { key, chartKey, category, package: packageName } = configType
  const hasExternalPrefix = matchExternalPrefixReg.test(chartKey)
  const chart = await import(`../components${hasExternalPrefix ? '/external' : ''}/${packageName}/${category}/${key}/config.ts`)
  return new chart.default()
}