@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
26 lines (22 loc) • 577 B
text/typescript
import React from "react";
export const requireReactElement = <T extends React.ReactNode>(
children: T,
): T => {
const isReactElement = React.isValidElement(children);
if (!isReactElement) {
throw Error(
`Expected a single React Element child, but got: ${React.Children.toArray(
children,
)
.map((child) =>
typeof child === "object" &&
"type" in child &&
typeof child.type === "string"
? child.type
: typeof child,
)
.join(", ")}`,
);
}
return children;
};