## Index

### Enumerations

- DEBUG_FLAG
- RULE_DIRECTION
- RULE_DIRECTION_RELATIVE

### Interfaces

- ICacheable

### Type aliases

- Optional
- RULE_DIRECTION_WITH_RELATIVE

### Variables

- randomValuesForTesting
- seed

### Functions

- _debounce
- _flatten
- clearRandomValuesForTesting
- getRandomSeed
- nextRandom
- opposite
- resetRandomSeed
- setAddAll
- setDifference
- setEquals
- setIntersection
- setRandomValuesForTesting

## Type aliases

### Optional

Optional: T | null

- Defined in util.ts:1

### RULE_DIRECTION_WITH_RELATIVE

RULE_DIRECTION_WITH_RELATIVE: RULE_DIRECTION | RULE_DIRECTION_RELATIVE

- Defined in util.ts:20

## Variables

### Let randomValuesForTesting

randomValuesForTesting: Optional<number[]> = null

- Defined in util.ts:115

### Let seed

seed: number = 1

- Defined in util.ts:114

## Functions

### _debounce

- _debounce(callback: function): (Anonymous function)

- - Defined in util.ts:52

  #### Parameters

  - ##### callback: function

    - - (): any

      - #### Returns any

  #### Returns (Anonymous function)

### _flatten

- _flatten<T>(arrays: T[][]): T[]

- - Defined in util.ts:23

  #### Type parameters

  - #### T

  #### Parameters

  - ##### arrays: T[][]

  #### Returns T[]

### clearRandomValuesForTesting

- clearRandomValuesForTesting(): void

- - Defined in util.ts:140

  #### Returns void

### getRandomSeed

- getRandomSeed(): number

- - Defined in util.ts:144

  #### Returns number

### nextRandom

- nextRandom(maxNonInclusive: number): number

- - Defined in util.ts:116

  #### Parameters

  - ##### maxNonInclusive: number

  #### Returns number

### opposite

- opposite(dir: RULE_DIRECTION): UP | DOWN | LEFT | RIGHT

- - Defined in util.ts:64

  #### Parameters

  - ##### dir: RULE_DIRECTION

  #### Returns UP | DOWN | LEFT | RIGHT

### resetRandomSeed

- resetRandomSeed(): void

- - Defined in util.ts:133

  #### Returns void

### setAddAll

- setAddAll<T>(setA: Set<T>, iterable: Iterable<T>): Set<T>

- - Defined in util.ts:87

  #### Type parameters

  - #### T

  #### Parameters

  - ##### setA: Set<T>

  - ##### iterable: Iterable<T>

  #### Returns Set<T>

### setDifference

- setDifference<T>(setA: Set<T>, setB: Iterable<T>): Set<T>

- - Defined in util.ts:105

  #### Type parameters

  - #### T

  #### Parameters

  - ##### setA: Set<T>

  - ##### setB: Iterable<T>

  #### Returns Set<T>

### setEquals

- setEquals<T>(set1: Set<T>, set2: Set<T>): boolean

- - Defined in util.ts:79

  #### Type parameters

  - #### T

  #### Parameters

  - ##### set1: Set<T>

  - ##### set2: Set<T>

  #### Returns boolean

### setIntersection

- setIntersection<T>(setA: Set<T>, setB: Iterable<T>): Set<any>

- - Defined in util.ts:95

  #### Type parameters

  - #### T

  #### Parameters

  - ##### setA: Set<T>

  - ##### setB: Iterable<T>

  #### Returns Set<any>

### setRandomValuesForTesting

- setRandomValuesForTesting(values: number[]): void

- - Defined in util.ts:136

  #### Parameters

  - ##### values: number[]

  #### Returns void

Generated using TypeDoc