← スキル一覧に戻る

nuxt-models
by leeovery
⭐ 1🍴 0📅 2026年1月20日
SKILL.md
name: nuxt-models description: Domain model classes with automatic hydration, relations, and type casting. Use when creating models for API entities, defining relationships between models, casting properties to enums/dates, or creating value objects.
Nuxt Models
Type-safe domain models with automatic hydration, relations, and property casting.
Core Concepts
models.md - Complete model patterns, lifecycle, relations, casts values.md - Value objects for typed wrappers (DateValue, etc.)
Basic Model
// app/models/Post.ts
import Model from '#layers/base/app/models/Model'
import type { Castable } from '#layers/base/app/types'
import PostStatus from '~/enums/PostStatus'
import DateValue from '~/values/DateValue'
import Author from '~/models/Author'
export default class Post extends Model {
ulid: string
title: string
content: string
status: PostStatus
isDraft: boolean
author: Author
createdAt: DateValue
public override primaryKey(): string {
return 'ulid'
}
public override casts(): Record<string, Castable> {
return {
status: PostStatus,
createdAt: DateValue,
}
}
public override relations(): Record<string, typeof Model> {
return {
author: Author,
}
}
public isPublished(): boolean {
return !this.isDraft
}
}
Model Lifecycle
API Response → booting() → transform() → Property Assignment
→ Relations Hydrated → Casts Applied → booted() → Ready
Usage
// Hydrate from API response
const post = Post.hydrate(apiResponse.data)
// Hydrate collection
const posts = Post.collect(apiResponse.data)
// Access typed properties
post.status.color() // Enum method
post.createdAt.format() // Value object method
post.author.name // Relation property
// Compare models
post.is(otherPost) // Same primary key?
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です