API reference@evolu/commonSet › createSet

Call Signature

function createSet<T>(items: readonly [T, T]): NonEmptyReadonlySet<T>;

Defined in: packages/common/src/Set.ts:79

Creates a readonly set from an array.

Preserves non-empty type when the input array is non-empty.

Preserving non-empty inputs

import {
  assertEqual,
  assertType,
  createSet,
  type NonEmptyReadonlySet,
} from "@evolu/common";

const values = createSet([1, 2, 3]);
const empty = createSet([] as ReadonlyArray<number>);

assertType<NonEmptyReadonlySet<number>, typeof values>();
assertType<ReadonlySet<number>, typeof empty>();
assertEqual(values, new Set([1, 2, 3]));

Call Signature

function createSet<T>(items: readonly T[]): ReadonlySet<T>;

Defined in: packages/common/src/Set.ts:83

Possibly empty set.