# RandomAccessSource

Defined in: [packages/filecoin-encryption-envelope/src/range/source.ts:18](https://github.com/FilOzone/synapse-sdk/blob/30608dd46e68d704a96d7ed7c24717c948ec4e4b/packages/filecoin-encryption-envelope/src/range/source.ts#L18)

One immutable encoded FEE object, readable by byte range.

## Properties

### size

> `readonly` **size**: `number`

Defined in: [packages/filecoin-encryption-envelope/src/range/source.ts:20](https://github.com/FilOzone/synapse-sdk/blob/30608dd46e68d704a96d7ed7c24717c948ec4e4b/packages/filecoin-encryption-envelope/src/range/source.ts#L20)

Exact size of the encoded object: envelope plus detached ciphertext.

## Methods

### openRange()

> **openRange**(`offset`, `length`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`ReadableStream`](https://developer.mozilla.org/docs/Web/API/ReadableStream)\<[`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)\<`ArrayBufferLike`\>\>\>

Defined in: [packages/filecoin-encryption-envelope/src/range/source.ts:27](https://github.com/FilOzone/synapse-sdk/blob/30608dd46e68d704a96d7ed7c24717c948ec4e4b/packages/filecoin-encryption-envelope/src/range/source.ts#L27)

Open the half-open byte range `[offset, offset + length)`. The returned
stream must produce exactly `length` bytes and then close; a short or long
response is rejected rather than reinterpreted, and a stream error
propagates unchanged.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `offset` | `number` |
| `length` | `number` |

#### Returns

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