SOC 職業分類に基づく
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/dipro-vn/dipro-ai-boost --skill typescript-generic-patternコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
Use when a task that changed backend code is finishing, before reporting it done. Symptoms — a migration was added, a request or response shape changed, a new route exists, a cache key was added, something could not be verified, a problem was found and deliberately left alone.
Use when adding or changing a protected route, a guard, a role check, or any query that reads or writes records belonging to a user or tenant. Symptoms — a findById that takes only an id, a route with no guard, a role checked in the controller but not the query, an ID read straight from params, a new public endpoint, a service method reachable from more than one caller.
Use when choosing which exception to throw, shaping an error response, or deciding what to log. Symptoms — a caught error that returns 200, a try/catch that swallows the cause, a 500 where the client should see 400, an error message exposing a stack trace or SQL, a log line with no request context, the same failure logged at every layer.
| name | typescript-generic-pattern |
| description | null |
Category: typescript · Status: 🟢 Active
Khi viết hàm/type tái dùng cho nhiều kiểu mà vẫn giữ liên kết kiểu input-output.
extends để giới hạn miền giá trị hợp lệ.infer trong conditional type để rút kiểu lồng bên trong.TItem, TKey) thay vì chỉ T khi có nhiều param.function getProp<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
type ElementType<A> = A extends (infer E)[] ? E : never;
type Item = ElementType<User[]>; // User
Good: K extends keyof T đảm bảo key hợp lệ; return type T[K] suy ra chính xác.
Avoid: function getProp<T, K, V>(...) với param thừa; generic không ràng buộc nhận mọi key.
extends khi cầninfer đúng chỗ cho conditional type