UNPKG

sanity

Version:

Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches

24 lines (17 loc) 587 B
import {type ReactNode} from 'react' import {linkMiddleware} from './linkMiddleware' import {type Middleware} from './types' const middlewares: Middleware[] = [linkMiddleware] /** * A function that transforms a ReactNode using a set of middlewares */ export function transformChildren(node: ReactNode): ReactNode { if (!Array.isArray(node)) return node return node.flatMap((item) => { let transformedItem: ReactNode[] = [item] for (const middleware of middlewares) { transformedItem = transformedItem.flatMap(middleware) } return transformedItem }) }