Changed the signature of createRoutableExtension to include null

Signed-off-by: Brian Leathem <bleathem@netflix.com>
This commit is contained in:
Brian Leathem
2021-03-24 20:54:54 -07:00
parent 68a10d34f9
commit 5691532f89
@@ -27,8 +27,11 @@ type ComponentLoader<T> =
sync: T;
};
// We do not use ComponentType as the return type, since it doesn't let us convey the children prop.
// ComponentType inserts children as an optional prop whether the inner component accepts it or not,
// making it impossible to make the usage of children type safe.
export function createRoutableExtension<
T extends (props: any) => JSX.Element
T extends (props: any) => JSX.Element | null
>(options: {
component: () => Promise<T>;
mountPoint: RouteRef;
@@ -70,6 +73,9 @@ export function createComponentExtension<
return createReactExtension({ component });
}
// We do not use ComponentType as the return type, since it doesn't let us convey the children prop.
// ComponentType inserts children as an optional prop whether the inner component accepts it or not,
// making it impossible to make the usage of children type safe.
export function createReactExtension<
T extends (props: any) => JSX.Element | null
>(options: {