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

```ts
function deleteFromSet<T>(set: ReadonlySet<T>, item: T): ReadonlySet<T>;
```

Defined in: [packages/common/src/Set.ts:192](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Set.ts#L192)

Returns a new readonly set with an item removed.

If the item doesn't exist, returns a new set with the same elements (still a
new reference for change detection).

### Deleting without mutation

```ts

const original = new Set([1, 2, 3]);
assertEqual(deleteFromSet(original, 2), new Set([1, 3]));
assertTrue(deleteFromSet(original, 5) !== original);
```