# dedupePieces

> **dedupePieces**\<`T`\>(`pieces`): [`ReturnType`](/reference/filoz/synapse-core/utils/namespaces/dedupepieces/type-aliases/returntype/)\<`T`\>

Defined in: [packages/synapse-core/src/utils/dedupe-pieces.ts:32](https://github.com/FilOzone/synapse-sdk/blob/56f1ef3fb5ccfea19fb80cb59e997e381f37d85a/packages/synapse-core/src/utils/dedupe-pieces.ts#L32)

Remove inputs whose PieceCID already appeared earlier in the array.

The first input for each PieceCID wins, including its metadata and source URL.

## Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* `object` |

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `pieces` | `T`[] | Inputs to dedupe. |

## Returns

[`ReturnType`](/reference/filoz/synapse-core/utils/namespaces/dedupepieces/type-aliases/returntype/)\<`T`\>

The kept inputs and the removed ones. [dedupePieces.ReturnType](/reference/filoz/synapse-core/utils/namespaces/dedupepieces/type-aliases/returntype/)