UNPKG

easy-bits

Version:

Enums, BitFlags, BitFields, BitMasks and BitArrays for JavaScript & TypeScript

71 lines (63 loc) 1.25 kB
/** * @private * @class */ class EnumConstant { /** * The name of this instance. * * @public * @readonly * @member {String} */ name; /** * The ordinal value of this instance. * * @public * @readonly * @member {Number} */ ordinal; /** * @public * @constructor * @param {String} name The name of the constant. * @param {Number} ordinal The ordinal value of the constant. */ constructor(name, ordinal) { this.name = name; this.ordinal = ordinal; Object.freeze(this); } /** * Gets a string representation of this EnumConstant instance. * * @public * @returns {String} A string representation of this EnumConstant instance. */ toString() { return `EnumConstant(${this.name}:${this.valueOf()})`; } /** * Gets the ordinal value of this constant. * * @public * @returns {Number} The value. */ valueOf() { return this.ordinal; } /** * Checks whether this BitField instance is equal to another constant. Two instances are considered equal * if they both refer to the same instance. * * @public * @param {EnumConstant} other The other constant to compare with. * @returns {Boolean} */ equals(other) { return this === other; } } export default EnumConstant;