Featured image of post Parsers a nivel de tipos con Template Literal TypesFeatured image of post Parsers a nivel de tipos con Template Literal Types

Parsers a nivel de tipos con Template Literal Types

Explore advanced recursion inside TypeScript generics to parse parameters out of string literals.

Los template literal types combinados con inferencia condicional permiten construir parsers que operan exclusivamente en tiempo de compilación, analizando cadenas como rutas, formatos y DSLs.

Conceptos básicos

Usar T extends ${pattern}${infer Rest} ? ... : never para extraer partes de una cadena recursivamente. Cada paso consume un token.

Parseo de rutas

type ParseRoute<T> =
  T extends `${infer Segment}/${infer Rest}`
    ? [Segment, ...ParseRoute<Rest>]
    : [T];

Validación de formatos

Validar UUIDs, fechas ISO, versiones semver, rutas de archivos. Los errores se detectan en tiempo de compilación con mensajes claros.

Limitaciones

La recursión de tipos tiene límites (~50 niveles). Para parsing complejo, usa validación en tiempo de ejecución combinada con branded types.