Skip to main content

typescript-patterns

TypeScript best practices and patterns. Use when writing TypeScript, fixing type errors, or working with generics.

Datos de origen

Repositorio
Tibsfox/gsd-skill-creator
Última actividad en el origen
25 de abril de 2026 a las 21:14
Idioma detectado de SKILL.md
inglés
Estrellas
70
Forks
10

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
typescript-patterns
description
TypeScript best practices and patterns. Use when writing TypeScript, fixing type errors, or working with generics.
version
1.0.0
format
2025-10-02T00:00:00.000Z
triggers
["writing TypeScript, fixing type errors, or working with generics"]
updated
2026-04-25T00:00:00.000Z
status
ACTIVE
# TypeScript Patterns ## Type vs Interface | Use Case | Prefer | |----------|--------| | Object shape | interface | | Union types | type | | Extending shapes | interface | | Intersection | type | | Tuple/primitives | type | ## Key Patterns **Discriminated Unions** — model state with tagged types: ```typescript type Result<T> = { ok: true; value: T } | { ok: false; error: Error }; ``` **Type Guards** — narrow at runtime: ```typescript function isUser(obj: unknown): obj is User { return typeof obj === 'object' && obj !== null && 'id' in obj; } ``` **Generic Constraints:** ```typescript function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } ``` ## Utility Types | Type | Purpose | |------|---------| | Partial\<T\> | All optional | | Required\<T\> | All required | | Pick\<T,K\> | Select properties | | Omit\<T,K\> | Remove properties | | Record\<K,V\> | Key-value map | | ReturnType\<T\> | Function return type | ## Avoid - `any` — use `unknown` and narrow - Type assertions (`as`) — use type guards - `!` operator — handle null properly - Missing return types on complex functions
Ver en GitHub