import type { JSX } from 'solid-js'; import { createComponent, mergeProps } from 'solid-js'; import { Dynamic } from 'solid-js/web'; import type { DynamicProps, ValidConstructor } from './dynamic-prop'; // This is just a shorthand for creating dynamic components export default function createDynamic( source: () => T, props: DynamicProps, ): JSX.Element { return createComponent( Dynamic, mergeProps( { get component() { return source(); }, }, props, ) as any, ); }