RTCDataChannel.send fails to compile
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
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/TypeScript-DOM-lib-generator
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
microsoft/TypeScript-DOM-lib-generator#2554 · 6 comentarios ·
-
lib.d.ts bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
lib.d.ts bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
microsoft/TypeScript-DOM-lib-generator#2154 · 1 reacción ·
-
lib.d.ts bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
microsoft/TypeScript-DOM-lib-generator#2107 · 5 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
microsoft/TypeScript-DOM-lib-generator#1675 · 2 comentarios · 1 reacción ·
Todos los issues de microsoft/TypeScript-DOM-lib-generator
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bcgov/bc-wallet-mobile#4761 · 1 comentario ·
-
external-issue to-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100