Skip to content

Set

addSetsToSet<T>(mainSet, …setsToAdd): void

Defined in: packages/isaacscript-common/src/functions/set.ts:12

Helper function to add all of the values in one set to another set. The first set passed will be modified in place.

This function is variadic, meaning that you can specify N sets to add to the first set.

T

Set<T>

…readonly ReadonlySet<T>[]

void


combineSets<T>(…sets): ReadonlySet<T>

Defined in: packages/isaacscript-common/src/functions/set.ts:29

Helper function to create a new set that is the composition of two or more sets.

This function is variadic, meaning that you can specify N sets.

T

…readonly ReadonlySet<T>[]

ReadonlySet<T>


copySet<T>(oldSet): ReadonlySet<T>

Defined in: packages/isaacscript-common/src/functions/set.ts:43

Helper function to copy a set. (You can also use a Set constructor to accomplish this task.)

T

ReadonlySet<T>

ReadonlySet<T>


deleteSetsFromSet<T>(mainSet, …setsToRemove): void

Defined in: packages/isaacscript-common/src/functions/set.ts:53

Helper function to delete all of the values in one set from another set. The first set passed will be modified in place.

This function is variadic, meaning that you can specify N sets to remove from the first set.

T

Set<T>

…readonly ReadonlySet<T>[]

void


getRandomSetElement<T>(set, seedOrRNG, exceptions?): T

Defined in: packages/isaacscript-common/src/functions/set.ts:77

Helper function to get a random element from the provided set.

If you want to get an unseeded element, you must explicitly pass undefined to the seedOrRNG parameter.

T extends string | number

ReadonlySet<T>

The set to get an element from.

RNG | Seed | undefined

The Seed or RNG object to use. If an RNG object is provided, the RNG.Next method will be called. If undefined is provided, it will default to a random seed.

readonly T[] = []

Optional. An array of elements to skip over if selected.

T


getSetCombinations<T>(set, includeEmptyArray): readonly ReadonlySet<T>[]

Defined in: packages/isaacscript-common/src/functions/set.ts:105

Helper function to get all possible combinations of the given set. This includes the combination of an empty set.

For example, if this function is provided a set containing 1, 2, and 3, then it will return an array containing the following sets:

  • [] (if includeEmptyArray is set to true)
  • [1]
  • [2]
  • [3]
  • [1, 2]
  • [1, 3]
  • [2, 3]
  • [1, 2, 3]

T extends string | number

ReadonlySet<T>

The set to get the combinations of.

boolean

Whether to include an empty array in the combinations.

readonly ReadonlySet<T>[]


getSortedSetValues<T>(set): T[]

Defined in: packages/isaacscript-common/src/functions/set.ts:121

Helper function to get a sorted array based on the contents of a set.

Normally, set values are returned in insertion order, so use this function when the ordering of the contents is important.

T extends string | number

ReadonlySet<T>

T[]


objectKeysToReadonlySet<K, V>(object): ReadonlySet<K>

Defined in: packages/isaacscript-common/src/functions/set.ts:151

Helper function to convert the keys of an object to a read-only set.

Note that the set values will be inserted in a random order, due to how pairs works under the hood.

Also see the objectKeysToSet function.

K extends string | number | symbol

V

Record<K, V>

ReadonlySet<K>


objectKeysToSet<K, V>(object): Set<K>

Defined in: packages/isaacscript-common/src/functions/set.ts:165

Helper function to convert the keys of an object to a set.

Note that the set values will be inserted in a random order, due to how pairs works under the hood.

Also see the objectKeysToReadonlySet function.

K extends string | number | symbol

V

Record<K, V>

Set<K>


objectValuesToReadonlySet<K, V>(object): ReadonlySet<V>

Defined in: packages/isaacscript-common/src/functions/set.ts:186

Helper function to convert the values of an object to a read-only set.

Note that the set values will be inserted in a random order, due to how pairs works under the hood.

Also see the objectValuesToSet function.

K extends string | number | symbol

V

Record<K, V>

ReadonlySet<V>


objectValuesToSet<K, V>(object): Set<V>

Defined in: packages/isaacscript-common/src/functions/set.ts:201

Helper function to convert the values of an object to a set.

Note that the set values will be inserted in a random order, due to how pairs works under the hood.

Also see the objectValuesToReadonlySet function.

K extends string | number | symbol

V

Record<K, V>

Set<V>


setAdd<T>(set, …elements): void

Defined in: packages/isaacscript-common/src/functions/set.ts:221

Helper function to add one or more elements to a set at once without having to repeatedly call the Set.add method.

This function is variadic, meaning that you can pass as many things as you want to add.

T

Set<T>

…readonly T[]

void


setHas<T>(set, …elements): boolean

Defined in: packages/isaacscript-common/src/functions/set.ts:234

Helper function to check for one or more elements in a set at once without having to repeatedly call the Set.has method.

This function is variadic, meaning that you can pass as many things as you want to check for. It will return true if one or more elements are found.

T

ReadonlySet<T>

…readonly T[]

boolean


sumSet(set): number

Defined in: packages/isaacscript-common/src/functions/set.ts:242

Helper function to sum every value in a set together.

ReadonlySet<number>

number