Class KeyedEnumAbstract

An immutable enum-like object with an associated key value.

This class must be extended by another class that overrides the inerited Util.Enum.enumValues method.

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

#key: string

The key value.

#name: string

Accessors

  • get name(): string
  • Get the enum name.

    Returns string

    the name

Methods

  • Test if a string is equal to this enum's name.

    As long as enum values are consistently obtained from the Util.Enum.enumValues array then enum instances can be compared with ===. If unsure, this method can be used to compare string values instead.

    If value is passed as an actual Enum instance, then if that enum is the same class as this enum it's name is compared to this instance's name.

    Parameters

    • value: string | Enum

      the value to test

    Returns boolean

    true if value is the same as this instance's name value

  • Get all enum values.

    This method must be overridden by subclasses to return something meaningful. This implementation returns an empty array.

    Returns undefined | readonly Enum[]

    all enum values

    Abstract

  • This method takes an array of enums and turns them into a mapped object, using the enum name as object property names.

    Type Parameters

    Parameters

    • enums: readonly T[]

      the enum list to turn into a value object

    Returns {
        [key: string]: object;
    }

    an object with enum name properties with associated enum values

    • [key: string]: object
  • Get the names of a set of Enum instances.

    Type Parameters

    Parameters

    • set: Iterable<T>

      the set of Enum instances to get the names of

    Returns string[]

    array of Enum name values

  • Get an enum instance from its key or name.

    This method searches the Util.Enum.enumValues array for a matching key or name value.

    Type Parameters

    Parameters

    • value: string

      the enum key or name to get the enum instance for

    Returns undefined | T

    the matching enum value, or undefined if no values match

Generated using TypeDoc