[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Microtask](https://evolu.dev/docs/api-reference/common/Microtask) › MicrotaskBatch

Defined in: [packages/common/src/Microtask.ts:15](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Microtask.ts#L15)

Batches values and flushes them in a single microtask.

Calls to [MicrotaskBatch.push](https://evolu.dev/docs/api-reference/common/Microtask/interfaces/MicrotaskBatch#push) within the same tick are coalesced into
one flush.

## Extends

- [`Disposable`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management)

## Methods

<a id="dispose"></a>

### \[dispose\]()

```ts
dispose: void;
```

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts:36

#### Inherited from

```ts
Disposable.[dispose]
```

## Properties

<a id="flushnow"></a>

### flushNow

```ts
readonly flushNow: () => void;
```

Defined in: [packages/common/src/Microtask.ts:20](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Microtask.ts#L20)

Flushes queued items immediately.

### push

```ts
readonly push: (item: T) => void;
```

Defined in: [packages/common/src/Microtask.ts:17](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Microtask.ts#L17)

Enqueues one item and schedules a microtask flush if needed.