Typescript: Emitir con funciones auxiliares de colisión de nombres es incorrecto cuando target> = ES2015

Creado en 23 sept. 2019  ·  3Comentarios  ·  Fuente: microsoft/TypeScript


Versión de TypeScript: 3.6.3


Términos de búsqueda: ayudante renombrar

Código

// <strong i="13">@target</strong>: es2015

declare function __awaiter(): void;
class C {
    async func() {
    }
}

Comportamiento esperado:
Se emite algún tipo de error (cuando el objetivo requiere el ayudante) notificando al usuario que el código generado no funcionará O tal vez el ayudante se emite con un nombre alternativo.

Comportamiento real:
El emisor declara una función __awaiter , pero intenta llamar a __awaiter_1 .

Enlace al patio de juegos: aquí

Asuntos relacionados:

Bug

Comentario más útil

Solución: agregue más guiones bajos 😅

Todos 3 comentarios

Solución: agregue más guiones bajos 😅

¿Hay alguna noticia sobre esto? Me encontré con un problema similar cuando un paquete npm que ingresé ya tenía el asistente __awaiter definido, por lo que las llamadas cambiaron a __awaiter_1 pero ninguna función __awaiter_1 se definió. Tuve que escribir un script post-compilación de pirateo para configurar __awaiter_1 = __awaiter después de la compilación, sería genial si esto se solucionara.

Esto parece ser un duplicado de # 33269, que fue corregido por # 36541.

¿Fue útil esta página
0 / 5 - 0 calificaciones