Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

RTCDataChannel.send fails to compile

Abierto
#1,973 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
50/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
tooling, web-dev

Línea de trabajo

Comienza localizando la entrada del generador o la fuente de declaración de RTCDataChannel.send y, a continuación, compárala con las referencias de WebRTC y MDN enlazadas en el issue. Verifica que el lib.dom.d.ts generado acepte el ejemplo ArrayBufferView | string sin estrechamiento y que la declaración de sobrecarga resultante coincida con la API documentada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Code that should compile but doesn't

function sendIt (peerConnection: RTCPeerConnection, data: ArrayBufferView | string): void {
  const dc = peerConnection.createDataChannel('')
  dc.send(data)
}

Reason

RTCDataChannel.send accepts string | Blob | ArrayBuffer | ArrayBufferView but because the .send method is declared as multiple overrides you have to work out the type of the argument before you invoke the method, even though you don't actually do anything to the data before sending:

// lib.dom.d.ts line 18,000
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/send) */
send(data: string): void;
send(data: Blob): void;
send(data: ArrayBuffer): void;
send(data: ArrayBufferView): void;
function sendIt (peerConnection: RTCPeerConnection, data: ArrayBufferView | string): void {
  const dc = peerConnection.createDataChannel('')

  if (typeof data === 'string') {
    dc.send(data)
  } else {
    dc.send(data)
  }
}

Changing it to the following works:

/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDataChannel/send) */
send(data: string | Blob | ArrayBuffer | ArrayBufferView) void;

Reference

Lenguaje dominante
TypeScript
Estrellas
740
Forks
474
Merge medio
2 d 8 h
PR fusionados (30 d)
15

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/TypeScript-DOM-lib-generator

Todos los issues de microsoft/TypeScript-DOM-lib-generator

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.