Rechercher

PythonReactSEOPDF
GitHub Skill

typescript-language-patterns

Modern TypeScript standards for type safety, performance, and maintainability.

HoangNguyen0403☆ 143 Étoiles du dépôt48 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

TypeScript Language Patterns

Priority: P0 (CRITICAL)

Modern TypeScript standards for type-safe, maintainable code.

Implementation Guidelines

  • Type Annotations: Explicit params/returns. Infer locals.
  • Interfaces vs Types: interface for APIs. type for unions.
  • Strict Mode: strict: true.
  • Null Safety: ?. and ??.
  • Enums: Literal unions or as const.
  • Generics: Reusable, type-safe code.
  • Type Guards: typeof, instanceof, predicates.
  • Utility Types: Partial, Pick, Omit, Record.
  • Immutability: readonly arrays/objects.
  • Const Assertions: as const and satisfies.
  • Template Literals: on${Capitalize<string>}.
  • Discriminated Unions: Literal kind property.
  • Advanced: Mapped, Conditional, Indexed types.
  • Access: Default public. Use private/protected or #private for internals.
  • Branded Types: string & { __brand: 'Id' }.

Anti-Patterns

  • No any: Use unknown.
  • No Function: Use signature () => void.
  • No enum: Runtime cost.
  • No !: Use narrowing.

Code

// Branded Type
type UserId = string & { __brand: 'Id' };

// Satisfies (Validate + Infer)
const cfg = { port: 3000 } satisfies Record<string, number>;

// Discriminated Union
type Result<T> = { kind: 'ok'; data: T } | { kind: 'err'; error: Error };

Reference & Examples

For advanced type patterns and utility types: See references/REFERENCE.md.

Related Topics

best-practices | security | tooling

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-01-20
Mise à jour de l’index
2026-01-26
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!