--- title: flattenConnection description: >2- The `flattenConnection` utility transforms a connection object from the Storefront API (for example, [Product-related connections](https://shopify.dev/api/storefront/reference/products/product)) into a flat array of nodes. The utility works with either `nodes` or `edges.node`. If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown. api_version: 2026-01 api_name: hydrogen source_url: html: 'https://shopify.dev/docs/api/hydrogen/latest/utilities/flattenconnection' md: 'https://shopify.dev/docs/api/hydrogen/latest/utilities/flattenconnection.md' --- # flatten​Connection The `flattenConnection` utility transforms a connection object from the Storefront API (for example, [Product-related connections](https://shopify.dev/api/storefront/reference/products/product)) into a flat array of nodes. The utility works with either `nodes` or `edges.node`. If `connection` is null or undefined, will return an empty array instead in production. In development, an error will be thrown. ## Parameters * **connection** **ConnectionEdges | ConnectionNodes** ### ConnectionEdges * edges ```ts Array<{node: unknown}> ``` ### ConnectionNodes * nodes ```ts Array ``` ## Returns **`unknown[]`** Examples ### Examples * #### Example code ##### Description I am the default example ##### JavaScript ```jsx import {flattenConnection} from '@shopify/hydrogen'; export function ProductList({productConnection}) { const products = flattenConnection(productConnection); return ( ); } ``` ##### TypeScript ```tsx import {flattenConnection} from '@shopify/hydrogen'; import type {ProductConnection} from '@shopify/hydrogen/storefront-api-types'; export function ProductList({ productConnection, }: { productConnection: ProductConnection; }) { const products = flattenConnection(productConnection); return ( ); } ```