Class ComparableEnumAbstract

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

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

Abstract

Hierarchy

Implements

Constructors

Properties

#name: string
#value: number

Accessors

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

    Returns string

    the name

Methods

  • Compare two ComparableEnum objects based on their value values.

    Parameters

    Returns number

    negative value, zero, or positive value if this instance is less than, equal to, or greater than o

  • 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
  • Compute a complete set of enum values based on a minimum enum and/or set of enums.

    If cache is provided, then results computed via minAggregation will be cached there, and subsequent calls will returned the cached result when appropriate.

    Type Parameters

    Parameters

    • Optional minEnum: T

      a minimum enum value

    • Optional cache: Map<string, Set<T>>

      a cache of computed values

    Returns undefined | Set<T>

    the computed set, or undefined if no values match

  • 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 name.

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

    Type Parameters

    Parameters

    • name: string

      the enum name to get an instnace for

    Returns undefined | T

    the instance, or undefined if no instance exists for the given name

Generated using TypeDoc