# Class: ItemSet

Defined in: [packages/core/src/sync/negentropy.ts:179](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L179)

Items sorted by (timestamp, id), with running sums so any range's
fingerprint costs two lookups rather than a pass over it.

## Constructors

### Constructor

```ts
new ItemSet(items): ItemSet;
```

Defined in: [packages/core/src/sync/negentropy.ts:184](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L184)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `items` | `Iterable`\<[`Item`](https://minca.dev/api/core/interfaces/Item.md)\> |

#### Returns

`ItemSet`

## Properties

### items

```ts
readonly items: readonly Item[];
```

Defined in: [packages/core/src/sync/negentropy.ts:180](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L180)

## Accessors

### size

#### Get Signature

```ts
get size(): number;
```

Defined in: [packages/core/src/sync/negentropy.ts:198](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L198)

##### Returns

`number`

## Methods

### fingerprint()

```ts
fingerprint(begin, end): Promise<Uint8Array<ArrayBufferLike>>;
```

Defined in: [packages/core/src/sync/negentropy.ts:206](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L206)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `begin` | `number` |
| `end` | `number` |

#### Returns

`Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>

***

### lowerBound()

```ts
lowerBound(
   begin, 
   end, 
   bound
): number;
```

Defined in: [packages/core/src/sync/negentropy.ts:211](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L211)

The first index in [begin, end) whose item is not below `bound`

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `begin` | `number` |
| `end` | `number` |
| `bound` | `Bound` |

#### Returns

`number`

***

### sum()

```ts
sum(begin, end): Sum;
```

Defined in: [packages/core/src/sync/negentropy.ts:202](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L202)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `begin` | `number` |
| `end` | `number` |

#### Returns

[`Sum`](https://minca.dev/api/core/interfaces/Sum.md)
