SuperAPI AI Directory

nuxt-enums

Coding & development

View repository

Updated 10-15 23:58

About this skill

Nuxt Enums

Class-based enums with behavior methods and model casting integration.

Core Concepts

enums.md - Complete enum patterns, behavior methods, UI integration

Basic Enum

// app/enums/PostStatus.ts
import Enum from '#layers/base/app/enums/Enum'
import type { Castable } from '#layers/base/app/types'

export default class PostStatus extends Enum implements Castable { // Static enum values static readonly Draft = PostStatus.create('draft') static readonly PendingReview = PostStatus.create('pending review') static readonly Published = PostStatus.create('published') static readonly Archived = PostStatus.create('archived')

// Cast method for model system static cast(value: string): PostStatus { return PostStatus.coerce(value) }

// Behavior methods color(): string { switch (this.value) { case 'draft': return 'neutral' case 'pending review': return 'warning' case 'published': return 'success' case 'archived': return 'error' default: return 'neutral' } }

get text(): string { return this.value } }


## Usage

```typescript
// In models (auto-cast from API string)
status: PostStatus

// Comparisons
post.status.is(PostStatus.Published)

// Get all values
PostStatus.values()

// In templates
<UBadge :color="post.status.color()">{{ post.status.text }}</UBadge>