Documentation
    Preparing search index...

    Class EnumProperty

    A property type that validates string values against a strict list of allowed options. Useful for status fields, categories, or predefined states.

    const status = new EnumProperty({
    name: 'status',
    values: ['pending', 'active', 'deleted']
    });

    status.set('active'); // OK
    status.set('archived'); // Throws Error: Value 'archived' is not acceptable

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _allows: string[] = []
    _defaultValue: any
    _events: { [key: string]: Function } = {}
    _hasChanged: boolean
    _htmlType: PropertyHTMLType = 'off'
    _id: string
    _mandatory: boolean = false
    _name: string
    _parent: DataObjectClass<any> | undefined
    _protected: boolean = false
    _value: any = undefined
    _values: string[] = []
    EVENT_ONCHANGE: string = 'onChange'

    Event name triggered when the property value changes.

    EVENT_ONDELETE: string = 'onDelete'

    Event name triggered when the property is deleted.

    TYPE: string = 'enum'

    The string literal type identifier for this property.

    WILDCARD: string = '*'

    Special wildcard value allowing any string to be accepted if configured in values.

    Accessors

    • get allows(): string[]

      Returns string[]

    • get hasChanged(): boolean

      Returns boolean

    • set hasChanged(val: boolean): void

      Parameters

      • val: boolean

      Returns void

    • get htmlType(): PropertyHTMLType

      Returns PropertyHTMLType

    • set htmlType(type: PropertyHTMLType): void

      Parameters

      Returns void

    • get mandatory(): boolean

      Returns boolean

    • get name(): string

      Returns string

    • get protected(): boolean

      Returns boolean

    • get values(): string[]

      Returns string[]

    Methods

    • Parameters

      • value: boolean | undefined

      Returns value is true | undefined

    • Creates a deep clone of the current property instance, preserving its prototype chain.

      Returns any

      A new independent instance of the property.

    • Assigns a new value, validating it against the allowed enum values. If the wildcard (*) is present in the allowed values, any value is accepted.

      Parameters

      • value: string

        The enum string to assign.

      • setChanged: boolean = true

        Whether to mark the property as modified.

      Returns EnumProperty

      The property instance for chaining.

      If the value is not in the allowed list.

    • Serializes the property for JSON stringification.

      Returns any

      The raw internal value of the property.

    • Retrieves the current value of the property, or its default value if currently undefined.

      Parameters

      • transform: any = undefined

        An optional transformation function applied to the value before returning it.

      Returns any

      The raw or transformed property value.