2022-07-29 13:03:05 +02:00
|
|
|
import React from 'react'
|
|
|
|
|
|
|
|
export type LoaderComponent<P = {}> = Promise<{
|
|
|
|
default: React.ComponentType<P>
|
|
|
|
}>
|
|
|
|
|
|
|
|
export type Loader<P = {}> = () => LoaderComponent<P>
|
|
|
|
|
|
|
|
export type DynamicOptions<P = {}> = {
|
|
|
|
loader?: Loader<P>
|
|
|
|
}
|
|
|
|
|
|
|
|
export type LoadableComponent<P = {}> = React.ComponentType<P>
|
|
|
|
|
|
|
|
export default function dynamic<P = {}>(
|
|
|
|
loader: Loader<P>
|
|
|
|
): React.ComponentType<P> {
|
2022-10-06 17:41:27 +02:00
|
|
|
return React.lazy(loader)
|
2022-07-29 13:03:05 +02:00
|
|
|
}
|