# Enum
Enum is a collection of constant's key values. Their type of value is [`EnumValue`](EnumValue.md).

## Methods

### `getDefault`
`getDefault() => EnumValue`<br/>
Get default `EnumValue` from this `Enum`.

### `getValue`
`getValue(enumValue: EnumValue) => EnumValue`<br/>
`getValue(propeties: Object) => EnumValue`<br/>
`getValue(name: string) => EnumValue`<br/>

Get value of `EnumValue` from this object of `Enum`, if value doesn't found from `Enum`, returns `undefined`.

**Arguments:**

- `enumValue: EnumValue` - the argument with type `EnumValue`, using this method for solution of problem  **if** and **switch**.
- `propeties: Object` - the object with property `name` for getting `EnumValue`.
- `name: string` - the name of enumeration value for getting `EnumValue`.

### `getValueKey`
`getValue(key: Number) => EnumValue`<br/>

Get value of `EnumValue`, where was found by `key` from this Enum.<br/>
Returns value of `EnumValue`, where was found by `key`.<br/>
Returns `undefined`, where was not found by `key`.<br/>

**Arguments:**
- `key: Number` - the key of value from Enum.

## Static Methods

### `Enum.equal`
`Enum.equal(firstEnumValue: EnumValue, secondEnumValue: EnumValue) => Boolean`<br/>
Get equaling of between two `EnumValue`.


