# calculateFromIterable

> **calculateFromIterable**(`data`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`PieceLink`\>

Defined in: [packages/synapse-core/src/piece/piece.ts:163](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-core/src/piece/piece.ts#L163)

Calculate PieceCID from an async iterable of Uint8Array chunks.

## Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `data` | `AsyncIterable`\<[`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)\<`ArrayBufferLike`\>\> | AsyncIterable yielding Uint8Array chunks |

## Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`PieceLink`\>

Calculated PieceCID

## Example

```ts
const pieceCid = await calculateFromIterable(asyncIterableData)
```