- packages/shared:TypeScript 專案參考建置鏈路、統一日誌模組(Asia/Taipei 格式) - apps/api:最小 NestJS 服務,GET /health - apps/web:最小 Next.js(App Router + Tailwind v4)首頁,套用品牌色票與亮暗模式 - scripts/dev-restart.mjs:讀 .dev-pids 以 process group 訊號安全停止舊行程、背景啟動 api/web 並輪詢健康檢查 - scripts/smoke:npm run smoke -- <群組代號> 冒煙測試框架,A 群組測試涵蓋 /health 與首頁內容 - 本機 port 3000 被既有服務佔用,web 開發埠改為 3100(已記錄於 todo.md) npm run restart && npm run smoke -- A 皆通過(A-V)。
14 lines
366 B
TypeScript
14 lines
366 B
TypeScript
export type Result<T, E = string> = { ok: true; value: T } | { ok: false; error: E };
|
|
|
|
export function ok<T>(value: T): Result<T, never> {
|
|
return { ok: true, value };
|
|
}
|
|
|
|
export function err<E>(error: E): Result<never, E> {
|
|
return { ok: false, error };
|
|
}
|
|
|
|
export function isOk<T, E>(result: Result<T, E>): result is { ok: true; value: T } {
|
|
return result.ok;
|
|
}
|