Saltar al contenido
NoInfer

    ↑↓ mover · ⏎ abrir · esc cerrar

    Funciones

    NoInfer

    Usa un tipo sin permitir que esa posición aporte candidatos de inferencia.

    Qué es

    Un freno intrínseco de inferencia. `NoInfer<T>` es el mismo tipo que `T` después de inferir, pero al resolver una llamada genérica esa posición se comprueba contra el resultado en vez de ayudar a elegirlo. Un argumento puede mandar y otro solo validarse.

    Ejemplos

    • typeof selected
      "red" | "green"
    • NoInfer<1 | 2>
      2 | 1

      Fuera de la inferencia es exactamente el tipo envuelto; no lo estrecha, ensancha ni marca.

    • NoInfer<string>
      string

    Cada tipo resuelto de arriba lo imprimió TypeScript 6.0.3, no se escribió a mano.

    Lo que no hace

    • No desactiva la inferencia para todo el parámetro genérico. Las demás posiciones sin envolver siguen aportando candidatos.
    • No es una aserción ni vuelve legal un valor inválido. La posición bloqueada se comprueba con más rigor contra el tipo inferido en otro lugar.

    Conclusión

    Usa `NoInfer` cuando un argumento debe determinar el genérico y otro solo demostrar que pertenece al resultado.