NEKOVA docs
NEKOVA / Docs / Classes & Objects

Enums

A first-class enum type, where each member is its own name as a string.

Defining an enum

enum Status: PENDING, ACTIVE, DONE

show Status.ACTIVE   # "ACTIVE"

Comparing against enum members

enum Status: PENDING, ACTIVE, DONE

let s = Status.ACTIVE
if s == "ACTIVE":
    show "is active"

Because each member evaluates to its own name as a string, comparisons against string literals work naturally — you don't need a separate .value accessor.

Using enums in logic

enum Status: PENDING, ACTIVE, DONE

task describe(status):
    if status == Status.DONE:
        return "finished"
    return "not finished"

show describe(Status.DONE)      # "finished"
show describe(Status.PENDING)   # "not finished"

Using enums as default parameter values

enum Priority: LOW, MEDIUM, HIGH

task create_ticket(title, priority=Priority.MEDIUM):
    return {"title": title, "priority": priority}

let t = create_ticket("Fix login bug", priority=Priority.HIGH)
show t